2017-02-08 2 views
5

मैं पहचान सर्वर 4 डेमो प्रोजेक्ट को आजमा रहा हूं और IProfileService कार्यान्वयन में मैं ProfileDataRequestContext.IssuedClaims पर उपयोगकर्ता दावों को जोड़ रहा हूं। एक बात मैंने देखी है कि context.RequestedClaimTypes संग्रह है, जो कि मैंने कोशिश की है किसी भी संसाधन/पहचान/स्कोप कॉन्फ़िगरेशन विविधताओं में हमेशा खाली है। इस संग्रह में किस स्थिति के तहत डेटा है?प्रोफ़ाइल DataRequestContext.RequestedClaimTypes कब खाली नहीं है?

उत्तर

-1

मुझे पता चला है कि अगर आप client.GetClaimsFromUserInfoEndpoint = true सेट करते हैं और /connect/userinfo एंडपॉइंट पर अतिरिक्त राउंडट्रिप बनाया गया है और अनुरोध ने "sub" मान का अनुरोध किया है।

7

यदि आपके ApiResources की परिभाषा में आप UserClaims परिभाषित करते हैं, तो इन्हें context.RequestClaimTypes में पॉप्युलेट किया जाएगा। उदाहरण के लिए:

new ApiResource 
{ 
    Name = "TestAPI", 
    ApiSecrets = { new Secret("secret".Sha256()) }, 
    UserClaims = { 
    JwtClaimTypes.Email, 
    JwtClaimTypes.EmailVerified, 
    JwtClaimTypes.PhoneNumber, 
    JwtClaimTypes.PhoneNumberVerified, 
    JwtClaimTypes.GivenName, 
    JwtClaimTypes.FamilyName, 
    JwtClaimTypes.PreferredUserName 
        }, 
    Description = "Test API", 
    DisplayName = "Test API", 
    Enabled = true, 
    Scopes = { new Scope("testApiScore) } 
} 

फिर अपने ProfileDataRequestContext.RequestClaimTypes, इन अनुरोध दावों में शामिल होंगे अपनी पहचान सर्वर को पूरा करने के लिए कैसे आप फिट देख।

संबंधित मुद्दे