2017-08-23 21 views
0

私はADFSサーバーとのo.auth接続を行います。私は文書http://docs.grafana.org/installation/configuration/#auth-generic-oauthに従った。oauth(プライベートADFS)でgrafanaを構成する方法

コンファレンス:

[auth.generic_oauth] 
enabled = true 
client_id = ID 
client_secret = TOKEN 
scopes = openid 
auth_url = https://GO.tld/adfs/oauth2/authorize 
token_url = https://GO.tld/adfs/oauth2/token 
api_url = https://GO.tld/adfs/userinfo 
allowed_domains = GO.tld 
allow_sign_up = true 

ログイン

lvl=dbug msg="HTTP GET https://GO.tld/adfs/userinfo: 200 OK {\"sub\":\"165az5d55s5sa56a5z1ds22tr6h5g5g6za6a6z55z5s=\"}" 
lvl=dbug msg="HTTP GET https://GO.tld/adfs/userinfo/emails: 200 OK {\"sub\":\"165az5d55s5sa56a5z1ds22tr6h5g5g6za6a6z55z5s=\"}" 
lvl=dbug msg="OAuthLogin got user info" logger=context userId=0 orgId=0 uname= userInfo="&{Name: Email: Login: Company: Role:}" 
lvl=info msg="Login provider didn't return an email address" logger=context userId=0 orgId=0 uname= 
lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/login/generic_oauth status=302 remote_addr=IP time_ms=26 size=29 referer=https://grafana.tld:3000/login 

答えて

0

ログはhttps://GO.tld/adfs/userinfoがgrafanaがnameloginusernameemailのようなフィールドを含むJSONドキュメントを期待{"sub":"165az5d55s5sa56a5z1ds22tr6h5g5g6za6a6z55z5s="}が、戻っていることを示しています。そのURLを参照するいくつかの投稿が完全なユーザー情報を返すようになったので、の設定をopenid userinfoのように設定して、subよりも多くのフィールドを返す必要がある可能性があります。

私が作ることができる限り、アクセストークン自体はユーザー情報を含むJWTトークンである必要があります。理論的には、一般的なoauthモジュールをデコードして使用できるようにする必要があります、またはADFS用に別のモジュールを作成します。今、Grafanaはそれを解読せず、それを不透明な値として扱います。

最後に、GrafanaがユーザーのJSON表現を取得するために呼び出すことができる別のAPIエンドポイントがある場合は、api_urlを設定して動作させることができます。

+0

この情報に感謝します:) – xilmen

関連する問題