微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OID、网络表单和从 B2C 获取声明

如何解决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 举报,一经查实,本站将立刻删除。