Azure B2C声明尚未通过

时间:2016-04-05 21:47:02

标签: azure azure-ad-b2c

完成MS网站上的示例https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-web-dotnet/

用户成功登录后,我似乎无法掌握政策中设置的声明(在Azure门户中)。

此处的声明对象始终为null。

var type = ClaimsPrincipal.Current.Identities.First().NameClaimType;
var claim = ClaimsPrincipal.Current.FindFirst(type);

我希望我错过了什么......

3 个答案:

答案 0 :(得分:1)

你检查ClaimsPrincipal.Current.Claims吗?这些值存储在ClaimsPrincipal.Current.Claims中。我想检查您是否无法从声明页面中的以下代码中获取值。

@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 :(得分:0)

您的声明标识中不存在NameIdentifier。

Azure b2c不提供此声明。

答案 2 :(得分:0)

你试试下面的代码,它完全正常。

<form action="">

    &nbsp&nbsp<input class="regular-checkbox" type="checkbox" name="token" value="visual"><b>&nbsp&nbsp Visual ID</b><br>
    &nbsp&nbsp<input class="regular-checkbox" type="checkbox" name="token" value="time"><b>&nbsp&nbsp Time Delay Index</b>

 </form>

ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier")