2016-11-09 6 views
1

これはReact sample application from Auth0から始まり、Auth0を使ったログインは正常に動作しますが、予想されるトークンを私に与えません。なぜAuth0 id_tokenにユーザーに関する情報が含まれていないのですか?

ログイン後、ブラウザのlocalStorageには、id_tokenとプロファイルオブジェクトが含まれています。 Auth0に登録され

{ 
    "iss": "https://mycompany.eu.auth0.com/", 
    "sub": "auth0|5821bc27f92ca3261c628a26", 
    "aud": "2A8cgDBm86kLCtCNtUMcKPL2G3oqjIdE", 
    "exp": 1478755859, 
    "iat": 1478719859 
} 

プロファイルは、ユーザプロファイルからの電子メールや他の良いものがたくさん含まれています。私はid_tokenをデコードするとき、私は、ペイロードは、このようなものが含まれていることを参照してください。

私はAPIサーバーのトークンを解析する必要があるため、プロファイルオブジェクトの属性がトークンの一部である必要があります。どのようにしてid_tokenにこれらの属性がすべて含まれるようにして、APIサービスで解析してユーザーが初めてログインするときに格納できるようにすることができますか?

私はAPIサーバが情報を信頼するためにAuth0によって署名される必要があるので、ブラウザlocalStorageにあるプロファイルオブジェクトを使用することはできません。

私はid_tokenを使用してAPIサーバーからAuth0に直接リクエストしてこの追加情報を得ることもできますが、情報がトークン。

答えて

2

これらは、デフォルトでid_tokenに含まれるクレームです。適切な値を持つscopeパラメータを渡すことによって、他の主張を含めるように要求することができます。

id_tokenの内容に影響を与えるために、scopeパラメータで渡すことができるものについては、Scopes - Requesting specific claimsを参照してください。

0

JoãoAngeloの回答に追加するには、スコープ内の「App_Metadata」オブジェクト全体をリクエストすることはできません。たとえば、アプリ固有のフィールドがある場合。ランや好きな色、これらは具体的に呼び出される必要があります。

例のAppメタデータ enter image description here

例call

https://example.auth0.com/authorize 
 
    ?response_type=token 
 
    &client_id=YOUR_CLIENT_ID 
 
    &redirect_uri=http://jwt.io&connection=google-oauth2 
 
    &scope=openid+lang+favoriteColor

、あなたが問題に実行するようAuth0を依頼するのが良いでしょうscope parameterに追加の注意事項がある場合があり

関連する問題