Azure B2C Claims are not coming through
完成来自 MS 站点的示例,https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-web-dotnet/
一旦用户成功登录,我似乎无法掌握策略中设置的声明(在 Azure 门户中)。
这里的声明对象始终为空。
1 2 | var type = ClaimsPrincipal.Current.Identities.First().NameClaimType; var claim = ClaimsPrincipal.Current.FindFirst(type); |
我希望我遗漏了什么...
您是否检查 ClaimsPrincipal.Current.Claims?这些值存储在 ClaimsPrincipal.Current.Claims 中。我想检查您是否无法从声明页面中的以下代码中获取值。
1 2 3 4 5 6 7 | @foreach (Claim claim in ClaimsPrincipal.Current.Claims) { <tr> <td class="claim-type claim-data">@claim.Type</td> <td class="claim-data">@claim.Value</td> </tr> } |
你试试下面的代码,它工作得很好。
1 | ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier") |
或者
1 | ClaimsPrincipal.Current.Claims.First(x => x.Type =="extension_ClientId") |
您的声明身份中不存在 NameIdentifier。
Azure b2c 不提供此声明。