【问题标题】:OpenId : Is true SSO possible?OpenId : 真正的 SSO 可能吗?
【发布时间】: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


【解决方案1】:

OpenID Connect 是一种身份验证协议,支持“真”(无论是什么意思)SSO。

在这里阅读:https://openid.net/connect/

场景 1:这绝不是它的工作方式 - RP2 仍需要往返于 IP 以获取身份令牌。但用户不会看到登录屏幕,而是会自动登录。

场景 2:单点注销是协议的一部分 - 是的。

【讨论】:

    猜你喜欢
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    • 2019-07-28
    • 2021-10-23
    • 2017-06-08
    • 2018-12-05
    相关资源
    最近更新 更多