Azure AD登录中的ASPXAUTH cookie问题

时间:2017-05-16 05:17:48

标签: c# azure-active-directory openid-connect .aspxauth

我在Office 365中使用azure AD登录选项,我在Azure AD中为我的生产和开发站点使用了2个单独的客户端应用程序,如下所示, 制作:https://samples@company.com(安全网站) 发展:http://samples@company.com:88(没有担保)

单独登录网站时登录正常但在执行以下步骤时出错, 1.如果我登录我的生产网站,我的开发网站不起作用。 2.我们注意到的唯一区别是.ASPXAUTH cookie是在登录生产站点时创建的。

直到退出生产站点,我无法登录开发站点。 请建议您的解决方案解决此问题。

public static void ConfigureAuth(IAppBuilder app)
    {
        app.UseKentorOwinCookieSaver();
        app.UseCookieAuthentication(new CookieAuthenticationOptions());
        app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
        app.UseOpenIdConnectAuthentication(
            new OpenIdConnectAuthenticationOptions
            {
                ClientId = clientId,
                Authority = authority,
                PostLogoutRedirectUri = postLogoutRedirectUri,
                RedirectUri = redirectUri,
                UseTokenLifetime = false,
                Notifications = new OpenIdConnectAuthenticationNotifications
                {
                    SecurityTokenValidated = context =>
                    {
                        string returnUrl = context.AuthenticationTicket.Properties.RedirectUri;
                        context.AuthenticationTicket.Properties.RedirectUri = "/members/register?returnUrl="+ returnUrl; 
                        return Task.FromResult(0);
                    },
                    AuthenticationFailed = context =>
                    {
                        if (context.Exception.Message.StartsWith("OICE_20004") || context.Exception.Message.Contains("IDX10311"))
                        {
                            context.SkipToNextMiddleware();
                            context.Response.Redirect("/members/logon");
                            return Task.FromResult(0);
                        }

                        return Task.FromResult(0);
                    }
                }
            });
    }
}

}

我面临的问题是,从办公室365登录后,它会重定向到以下网址 http://samples@company.com:88/members/register?returnUrl=http://samples@company.com:88/ 但需要将其重定向到http://samples@company.com:88此链接。

1 个答案:

答案 0 :(得分:1)

网站是否提供任何注册功能?似乎该网站支持从Azure AD注册用户登录。如果我理解正确,我们可以通过以下代码重命名网站发布的cookie名称,以使这两个网站的cookie分开工作:

app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
    CookieName = "DevSite",
});