Ray*_*lli 6 single-sign-on owin asp.net-identity openid-connect identityserver4
我有许多使用 .NET 成员身份和表单身份验证的旧版 .NET Framework Web 应用程序。他们各自拥有自己的登录页面,但都位于同一域(例如 .mycompany.com),共享 ASP.NET 会员数据库并共享机器密钥,以便他们能够识别彼此的 cookie 以实现 SSO;即,如果您登录一个应用程序,那么您就登录了所有应用程序,与注销相同。
现在我希望所有未来的应用程序都在 .NET Core 中开发,并使用通用的 Identity Server 作为集中式身份验证机制。我启动并运行了一个简单的 Identity Server,以及几个不同风格的 .NET Core 客户端应用程序。这一切都非常有效。我似乎无法克服的障碍是所有 mycompany.com 应用程序之间的 SSO。布罗克·艾伦(Brock Allen)在此建议我查看客户样本以获取灵感。
MVC OWIN Client(隐式)示例让我了解了大部分内容。我可以将旧版应用程序移植到使用 OWIN cookie 身份验证和 OIDC,但这不是真正的 SSO。目前,如果我登录 app1.thirdparty.com,则会被重定向到 Identityserver.mycompany.com 进行身份验证。登录到 Identityserver.mycompany.com 后,我可以访问 app1.thirdparty.com,这很棒,但我还必须对每个 mycompany.com 应用程序执行相同的过程。当然,我不必每次都输入凭据,因为我已经与 Identityserver.mycompany.com 建立了会话,但在正式登录之前,我仍然必须转到每个应用程序并单击登录按钮。我更喜欢登录到 Identityserver.mycompany.com 来启动与 mycompany.com 域内的所有其他应用程序的 SSO。同样,如果我已经登录到 mycompany.com 应用程序,那么我希望 Identityserver.mycompany.com 能够意识到这一点,并且不需要我再次输入我的凭据。
这可能吗?我该怎么办呢?
| 归档时间: |
|
| 查看次数: |
6014 次 |
| 最近记录: |