Заявки Azure B2C не проходят

Работая с примером с сайта MS, https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-web-dotnet/

Когда пользователь успешно входит в систему, мне кажется, что я не могу получить утверждения, установленные в политике (на портале Azure).

Объект утверждения здесь всегда нулевой.

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

Надеюсь, я что-то упускаю ...


person gstewart    schedule 05.04.2016    source источник


Ответы (3)


Вы проверяете 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>
    }
person Lily_user4045    schedule 06.04.2016
comment
Привет, да, этот список тоже пуст. После нескольких дней попыток заставить все работать, я перешел к другой стратегии авторизации. - person gstewart; 09.04.2016
comment
Хорошо, я следую образцу из предоставленного вами документа github.com/AzureADQuickStarts/B2C-WebApp -OpenIdConnect-DotNet, я могу получить значения из ClaimsPrincipal.Current.Claims, поэтому с кодом нет проблем, убедитесь, что ‹appSettings› правильно настроен. - person Lily_user4045; 11.04.2016

NameIdentifier не существует в вашем удостоверении утверждений.

Azure b2c не предоставляет этого утверждения.

person Ricardo    schedule 26.09.2016

Вы пробуете приведенный ниже код, он работает отлично.

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

or

ClaimsPrincipal.Current.Claims.First(x => x.Type == "extension_ClientId") 
person Karthikeyan VK    schedule 30.08.2017