2016-09-06 52 views
0

我正在使用授权码流程,并试图使用用户信息端点获取用户信息,但我没有获得索赔。我为IncludeInIdToken启用了一些类似名称概要邮件的声明,并且在解码Idtoken时我无法看到上述声明。 我试着通过调试方法GetProfileDataAsync,在这里我发现“名称”属性为空,因为我使用的AD组我需要这个名称属性在这里。 我试图在LocalLoginAsync方法中将“Name”保存到全局变量中,并在GetProfileDataAsync方法中使用它。我现在已经在响应增加的权利要求到TaskResult,但我正在计数“0”身份验证服务器3:用户信息端点返回空声明

当我请求令牌通过使用代码我能够看到要求

Claims

以下结果

,我没能看到IdToken这些说法, Id_token

接下来,时间使用时,通过使用访问令牌,我没有得到,除了“亚健康”或没有Name属性的任何索赔端点用户信息请求。

我怎样才能获得与用户信息端点响应要求

回答

0

我已经调试代码尝试和发现的问题,因为我做了错误像

回报Task.FormResult(identity.Claims 。凡(X => context.RequestedClaimTypes.Contains(x.Types)));

而不是做

context.IssuedClaims = identity.Claims.where(X => context.RequestedClaimTypes.Contains(x.Types)); return Task.FromResult(0);

不过还是我得到的用户名(Name)属性空与用户信息端点..,

0

我假设你正在请求在您的要求profile范围。如果这是真的,那么username不是有效范围,并且不构成该范围的list of standard claims的一部分。您应该将您的声明重命名为nicknamepreferred_username

相关问题