代码之家  ›  专栏  ›  技术社区  ›  Ronaldo Lanhellas

OAuth2.0和OpenID Connect混淆

  •  3
  • Ronaldo Lanhellas  · 技术社区  · 7 年前

    我对OAuth2.0作为授权方法和OpenIDConnect作为身份验证方法的使用感到困惑。

    根据我的知识,OAuth 2.0只是一种授权方法。换句话说,这是请求访问令牌并接收该访问令牌的过程,如下图中黄色椭圆所示:(简化)

    在OAuth 2.0客户端从授权服务器检索访问令牌之前,此服务器应验证用户是否允许,这是OAuth 2.0不关心的身份验证过程。

    当openid connect包含在混合中时,它也允许使用身份验证方法,但据我所知,openid connect只是在jwt令牌中添加了一个“声明”,其中包含有关正在使用该服务的用户的信息,如:email、name和其他。

    我的问题是:

    1. 为什么不忽略openid connect并在OAuth中添加更多“声明” 2.0获取用户信息?
    2. 我对流程的描述是否正确?
    3. 只是一种授权方法。换句话说,这是请求访问令牌并接收该访问令牌的过程,如下图中黄色椭圆所示:(简化)

      enter image description here

      在OAuth 2.0客户端从授权服务器检索访问令牌之前,此服务器应验证用户是否允许,这是OAuth 2.0不关心的身份验证过程。

      当openid connect包含在混合中时,它也允许使用身份验证方法,但据我所知,openid connect只是在jwt令牌中添加了一个“声明”,其中包含有关正在使用该服务的用户的信息,如:email、name和其他。

      我的问题是:

      1. 为什么不忽略openid connect并在OAuth中添加更多“声明” 2.0获取用户信息?
      2. 我对流程的描述是否正确?
    3 回复  |  直到 6 年前
        1
  •  2
  •   Manglu    6 年前
        2
  •  3
  •   sdoxsee    7 年前

        3
  •  3
  •   Hans Z.    6 年前

    1. id_token access_token