【问题标题】:If I my app uses Open ID Connect does it also have to support OAuth?如果我的应用程序使用 Open ID Connect,它是否也必须支持 OAuth?
【发布时间】:2016-07-04 23:22:40
【问题描述】:

据我了解,如果您希望您的应用通过 OAuth 登录,那么您必须为每个提供商(Google、Twitter 等)编写单独的代码。

而使用 OpenID 您不需要 - 它会为您处理提供程序,而您只需处理连接到 OpenID

现在 OpenID 已成为 OpenID Connect(这是在 OAuth 2.0 之上运行的层),如果我使用它,我还会需要编写单独的代码(因为它依赖于 OAuth),或者我只需要为 OpenID 部分编写一点代码,它会处理所有底层OAuth 提供商?

【问题讨论】:

    标签: security oauth oauth-2.0 single-sign-on openid-connect


    【解决方案1】:

    从概念上讲,OpenID 是一种 SSO(身份验证)协议,而 OAuth 是一种授权(代表用户访问资源)协议。实际上,两者看起来都很接近,因为用户需要登录。 OAuth 支持多种不同的流程,OpenID 建立在自动发现之上(用户标识符引用身份提供者)。 OpenID Connect 建立在 OAuth 之上,具有 OpenID(特定 url)的自动发现思想。

    对于这三个协议,您实际上不需要为每个提供者编写单独的不同代码,由于不同的配置(服务器 url)或属性检索配置,您可以拥有一些自定义的通用组件。对于有些模糊的 OAuth,实现可能会有更大的差异。

    取自我对 pac4j 安全库的体验:https://github.com/pac4j/pac4j

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      相关资源
      最近更新 更多