如何解决OID、网络表单和从 B2C 获取声明
我看了又看,但找不到任何可以解决我的问题的方法。我正在尝试使用 ASP Webform 从 B2C 获取索赔信息。我可以获得 B2C 登录,但它在返回时不会触发 AuthorizationCodeReceived 事件。我怀疑这就是为什么我没有得到任何回报。有人可以告诉我下面的代码有什么问题:
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationoptions());
// Configure OpenID Connect middleware for each policy
//app.USEOpenIdConnectAuthentication(CreateOptionsFromPolicy(SignUpPolicyId));
//app.USEOpenIdConnectAuthentication(CreateOptionsFromPolicy(ProfilePolicyId));
//app.USEOpenIdConnectAuthentication(CreateOptionsFromPolicy(SignInPolicyId));
app.USEOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationoptions
{
// For each policy,give OWIN the policy-specific Metadata address,and
// set the authentication type to the id of the policy
MetadataAddress = String.Format(aadInstance,tenant,SignInPolicyId),AuthenticationType = SignInPolicyId,ResponseType = "code id_token",// These are standard OpenID Connect parameters,with values pulled from web.config
ClientId = clientId,RedirectUri = redirectUri,PostlogoutRedirectUri = redirectUri,Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthorizationCodeReceived = context =>
{
Debug.WriteLine("Received");
context.ProtocolMessage.EnableTelemetryParameters = false;
context.ProtocolMessage.ResponseMode = null;
return Task.Fromresult(0);
},RedirectToIdentityProvider = context =>
{
Debug.WriteLine("Redirecting to identity provider for sign in..");
context.ProtocolMessage.EnableTelemetryParameters = false;
context.ProtocolMessage.ResponseMode = null;
return Task.Fromresult(0);
},},TokenValidationParameters = new TokenValidationParameters
{
NameClaimType = "name",ValidateIssuer = false
},});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。