【发布时间】:2017-05-19 02:58:52
【问题描述】:
我在我们的应用程序之间设置 SSO 时遇到问题,在创建我拥有的 cookie 的应用程序中:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
// LogoutPath = new PathString("/Account/Logout"),
// ExpireTimeSpan = TimeSpan.FromDays(1),
CookieName = "mycookie",
CookieDomain = ".mydomain.com",
});
在本地测试时,我得到了我期望的结果
Cookie = 名称:mycookie,域:.mydomain.com
但是当我进入我们的测试环境时,我得到了
Cookie = 名称:mycookie,域:oauth.mydomain.com
由于 cookie 具有域的根,它在其他应用程序中不起作用。我已经做了我能想到的一切,但它似乎不想使用配置中指定的域。
更新:当使用 SSL 从 IIS7 环境托管时,这似乎是一个问题。当不在 IIS7 中使用 SSL 或使用 IIS8 部署到我们的 UAT 环境时,它按预期工作。
使用 SSL 时,它也无法正确重定向。我认为这个问题也有关系。
当我点击http://site.domain.com 时,我被重定向到
http://auth.domain.com/account/login?returnUrl=site.domain.com
正如预期的那样,但是如果启用 SSL,我将被重定向到
https://site.domain.com/account/login?returnurl=site.domain.com
【问题讨论】: