2017-08-08 4 views
0

私はIdentityServer4を実装するためにこのpostに従っています。私は、プロシージャGetProfileDataAsyncのProfileServiceでIEnumerable context.RequestedClaimTypesが空であるという問題があります。私は郵便配達所で特定のクレームタイプを要求するように私の要求を変更する必要がありますか? context.RequestedClaimTypesにクレームタイプが含まれているように、私は何をすることができますか?IdentityServer4でクレームタイプを要求する方法は?

私の郵便配達の要求は、次のようになります

Post http://localhost:57577/connect/token 
Authorization: Basic Z2xvYmFsX2F... 
Body (x-www-form-urlencoded): 
username:[email protected] 
password:pass 
grant_type:password 
scope:my_api 

答えて

1

ちょうどあなたが続くポストのように、あなたはあなたのscopeでそれを要求する必要があります。あなたはそれにprofile emailを追加することができますし、それらの主張を取得する必要があります。 AllowedScopesのクライアント設定(config.cs)に追加してください。

+0

それは私の問題をほぼ完全に解決しました。名前と電子メールはcontext.RequestedClaimTypesで利用できますが、件名はまだ利用できません。 UserClaimsにJwtClaimTypes.Subjectを追加しました。私は "my_api"、 "openid"、 "profile"、 "email"を追加しました。クライアントでは、AllowedScopes: "my_api"、 "openid"、 "profile"、 "email"、 "sub"を追加しました。郵便配達所には、 "my_api openid profile email"が含まれています。 – Uros

+0

JwtClaimTypes.Subject( "sub")クレームは、デフォルトでAPIのUser.Claimsに含まれます。 – Uros

関連する問題