Azure B2C未获得所有支持的声明

时间:2017-07-12 14:02:25

标签: asp.net-mvc oauth-2.0 owin openid-connect azure-ad-b2c

我已将我的应用程序与Azure B2C集成。我可以登录并返回我的应用程序,但我没有获得所有支持的声明。以下是我的代码

app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            CookieSecure = CookieSecureOption.Always
        });

        app.UseOpenIdConnectAuthentication(
            new OpenIdConnectAuthenticationOptions
            {
                MetadataAddress = String.Format(AadInstance, Tenant, DefaultPolicy),
                ClientId = ClientId,
                RedirectUri = RedirectUri,
                PostLogoutRedirectUri = RedirectUri,
                Authority=Authority,

                Notifications = new OpenIdConnectAuthenticationNotifications
                {
                    RedirectToIdentityProvider = OnRedirectToIdentityProvider

                },
                TokenValidationParameters = new TokenValidationParameters
                {
                    NameClaimType = "name"
                },
                Scope = "openid profile offline_access"
            }
        );
    }
@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>
    }

我不知道我在这里做了什么错。上面的代码已经从这里提到的azure样本https://docs.microsoft.com/en-gb/azure/active-directory-b2c/active-directory-b2c-devquickstarts-web-dotnet-susi进行了一些修改。

目前我只获得一个名为Given的字段。请建议我如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

通过以下

获得了我的根本原因和解决方案

http://blog.baslijten.com/how-to-add-federated-authentication-with-sitecore-and-owin/这里解释清楚

答案 1 :(得分:0)

  

我可以登录并返回我的应用程序,但我不是   获得所有支持的声明

这是什么意思?您在Portal中针对策略(应用程序声明)添加的声明未返回或?

B2C仅在索赔具有价值时才提出索赔。如果登录用户只有少数声明的值,那么这些只会从政策

返回