【问题标题】:Share OWIN Authentication Cookie across two domains connected with one IIS application在与一个 IIS 应用程序连接的两个域之间共享 OWIN 身份验证 Cookie
【发布时间】:2020-12-29 23:33:21
【问题描述】:

我想知道,是否有可能在domainA.comdomainB.com 之间共享 OWIN 身份验证 Cookie,它们都连接到同一个 IIS 应用程序。我想要实现的是,当用户登录domainA.com 并转到domainB.com 时,他也将在那里登录。我可以在没有 SSO 逻辑的情况下做到这一点吗? 现在我已经配置了 OWIN cookie 身份验证:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = "AppCookieName",
            AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Active,
            LoginPath = new PathString("/PathToLogIn")
        });
 
        AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier;
    }
}

【问题讨论】:

    标签: c# asp.net-mvc authentication iis cookies


    【解决方案1】:

    我们熟悉的登录逻辑是用户向domainA发送登录请求,domianA从请求中获取信息并确认,并在响应中包含验证过的cookie。

    所以如果要共享owin认证cookie,最基本的就是要保证domainA和domainB中的机器密钥相同。

    1. 在 statup 中配置 OWIN cookie 身份验证。

    2. 重定向到适当的登录页面。 domainA 和 domainB 是不同的两个应用程序,您需要确保当用户浏览其中任何一个时,它会重定向到适当的登录页面。并在一个应用程序中添加应用程序设置键。

        <appSettings>
            <add key="LoginUrl" value="your login url">
            <add key="LogoutUrl" value="your logout url">
        </appsettings>
      
    3. 设置机器密钥。确保 domainA 和 domainB 具有相同的机器密钥。您可以在 iis 中从一个站点生成密钥并将其复制到应用程序配置中。

       <system.web>
         <machineKey decryptionKey="B6047E4219F0EF483DCBBAC097AF677E8D199DC1909596DB" validationKey="9E525E30F6D68862E6157607F9E3EB9E17FFCF366B7D6C080622097D5BFCA1E83B993A8B8DB5FAFFB6B0F7BA092BD8948DC0A1F5DF119B606F1965F4DDFF4D5A" />
       </system.web>
      

    如果你不使用单点登录逻辑,可能很难实现,单点登录是目前最合适有效的方法。所以我建议你使用单点登录。您可以参考document分享cookie。

    【讨论】:

    • 感谢您的回复。我想你误解了我一点。我有两个域绑定到同一个 IIS 应用程序(一台服务器)。如果您对此特定情况有解决方案,请告诉我。
    • 同一个站点绑定不同的域,不太可能共享cookies。因为cookie是通过域存储来区分的。根据cookie规范,浏览器根据域名判断一个网站是否可以操作另一个网站cookie。
    猜你喜欢
    • 2011-05-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 2011-01-17
    • 2011-10-10
    相关资源
    最近更新 更多