我公司有3个网站,每个网站都有自己的登录页面,但是根据相同的身份验证(比如自定义数据库)存储进行身份验证。最近,我们考虑实施SSO并拥有一个集中的身份验证网站,所有这些网站都将依赖这个新的身份验证网站进行登录。让我将身份验证网站称为IP(身份提供商),将依赖方称为RP1,RP2,RP3。
我意识到使用SAML / WS-Fed(因为所有网站都是基于asp.net的)基于实现这是相当容易实现的,很多例子都在互联网上。我的问题是使用OpenID或OAuth是否可以实现相同的目标?在某些情况下,我认为这可能是不可能的。
情景1:
我在RP1中登录并在浏览器中输入RP2的URL后,RP2会知道我已经过身份验证并允许我继续操作,还是会被迫再次通过IP登录?
情景2:
假设我已登录并能够在RP1和RP之间导航RP2,如果我退出RP2并导航到RP1,我会被重定向到登录页面吗?单点注销是否可以实现?
请点击此处SSO Image
感谢您的帮助。
答案 0 :(得分:1)
OpenID Connect是一种支持" true"的身份验证协议。 (无论那意味着什么)SSO。
在此处阅读:https://openid.net/connect/
场景1:这绝不是它的工作原理 - RP2仍然需要到IP进行往返才能获得身份令牌。但是用户将看不到登录屏幕并将自动登录。
场景2:单点注销是协议的一部分 - 是的。