2017-10-27 17 views
0

アイデンティティ・サーバー4 /認証コード・フロー内のアクセス・トークンjwtの追加要求をどのように要求しますか。私のカスタムプロファイルサービスは、認証コードフローサインイン中に常にRequestedClaimTypes 0を表示します。その結果得られるアクセストークンjwtには、自分の主張がありますが、ファーストネーム、ラストネーム、または電子メールクレームはありません。ここで アイデンティティ・サーバー4 /認証コード・フロー内のアクセス・トークンの追加要求を要求する方法

は、クライアントからの私の要求のスコープです: 「TestApi OpenIDのプロフィールメール」

はここアイデンティティサーバー上の私のクライアントの定義である:

new Client {      
       ClientId = "authorizationCodeClient2", 
       ClientName = "Authorization Code Test", 
       ClientSecrets = { 
             new Secret("secret".Sha256()) 
           }, 
       Enabled = true, 
       AllowedGrantTypes = GrantTypes.Code, 
       RequireConsent = true, 
       AllowRememberConsent = false, 
       RedirectUris = 
       new List<string> { 
       "http://localhost:5436/account/oAuth2" 
       },      
       AllowedScopes = { "TestApi", "openid", "profile", "email" }, 
       AccessTokenType = AccessTokenType.Jwt 
      } 

テストクライアントのためにhttps://github.com/bayardw/IdentityServer4.Authorization.Codeを使用するには。

答えて

0

アイデンティティサーバーでは、userinfoエンドポイントを呼び出す必要はなく、ユーザープロファイルのクレームをIDトークンにスタンプすることができます。基本的には、その特定のクライアントのブール値プロパティを設定します。

AlwaysIncludeUserClaimsInIdToken = true;あなたの認証リクエストに応じて、次のスコープを要求することになるでしょう

注:(OpenIDのプロファイルメール)

+1

あなたが主張の多くを持っている場合、それはAのだとき、それはIdentityServerとの相互作用の問題に遭遇する可能性がありますのでご注意ください特定のサイズ。私はこれに遭遇し、私は私が遭遇した正確な制限またはシナリオを覚えていない。 – aaronR

関連する問題