【发布时间】:2015-12-30 15:48:46
【问题描述】:
我的公司有 3 个网站,每个网站都有自己的登录页面,但针对相同的身份验证(比如说自定义数据库)存储进行身份验证。最近,我们考虑实施 SSO 并通过一个集中的身份验证网站,所有这些网站都将依赖这个新的身份验证网站进行登录。让我将身份验证网站称为 IP(身份提供者),将依赖方称为 RP1、RP2、RP3。
我知道使用基于 SAML / WS-Fed(因为所有网站都是基于 asp.net)的实现,这是相当可实现的,并且互联网上有很多示例。我的问题是使用 OpenID 或 OAuth 是否可以实现相同的目标?在某些情况下,我认为这可能是不可能的。
场景 1:
在我 SSO 登录 RP1 并在浏览器中输入 RP2 的 URL 后,RP2 会知道我已经通过身份验证并允许我继续,还是会强制我通过 IP 重新登录?
场景 2:
假设我已经登录并能够在 RP1 和 RP2 之间导航,如果我退出 RP2 并导航到 RP1,我会被重定向到登录页面吗?单点注销可以实现吗?
请点击这里SSO Image
感谢您的帮助。
【问题讨论】:
-
OAuth 不是身份验证协议 (oauth.net/articles/authentication)。您想查看 OpenID Connect...但如果您使用 Active Directory - 您已经拥有 SSO。
-
@leastprivilege :谢谢,我更正了我的问题,我已将 Active Directory 更改为自定义数据库存储,并将 OAuth 更改为 OpenId。
标签: oauth oauth-2.0 single-sign-on saml ws-federation