我已将我的应用程序与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的字段。请建议我如何解决这个问题?
答案 0 :(得分:1)
通过以下
获得了我的根本原因和解决方案http://blog.baslijten.com/how-to-add-federated-authentication-with-sitecore-and-owin/这里解释清楚
答案 1 :(得分:0)
我可以登录并返回我的应用程序,但我不是 获得所有支持的声明
这是什么意思?您在Portal中针对策略(应用程序声明)添加的声明未返回或?
B2C仅在索赔具有价值时才提出索赔。如果登录用户只有少数声明的值,那么这些只会从政策
返回