Azure B2C 索赔未通过

 2022-01-07 

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 不提供此声明。