Asp.net 本地主机上多个项目中的身份 SSO

Asp.net Identity SSO in multiple projects on localhost

我有一个包含 3 个网站的 Visual Studio 解决方案。每个网站都是实时服务器上的一个子域。登录网站正在使用 OAuth 新的基于声明的身份验证。

所以:

Website A = Admin (admin.domain.com)

Website B = Identity Portal for logins (login.domain.com)

Website C = Normal visitor website (www.domain.com)

通过指定网站 B 上的身份验证 cookie 用于子域“.domain.com”,这在实时服务器上运行良好。

我的问题是,如果我 运行 Visual Studio 中的项目,我如何登录网站 B 并在网站 A 和 C 上保持登录状态? (我无法将 cookie 设置为本地主机,因为它们都使用自己的端口,例如 localhost:2245。)

我也不想为了 Visual Studio 调试而在网站 A 和 C 上创建单独的登录表单。

将您的站点写入主机文件 (c:\Windows\System32\drivers\etc\hosts) 像这样:

127.0.0.1     admin.domain.com
127.0.0.1     login.domain.com
127.0.0.1     www.domain.com

您可以使用任何域名(不是真实域名)。然后像往常一样配置您的 IIS 绑定(一个网站的所有 3 个名称),您将能够在浏览器中打开所有这些 "virtual" 站点,具有不同的 cookie 等。为此您需要完整的 IIS,而不是IIS 快递。