【问题标题】:Access Token from OIDC vs OAuth2.0来自 OIDC 与 OAuth2.0 的访问令牌
【发布时间】:2021-03-17 11:16:56
【问题描述】:
  1. 我知道从OAuth2.0获取的访问令牌可以用来访问受保护的资源。

  2. OpenID Connect 在身份验证后颁发 ID 令牌和访问令牌。并且规范说访问令牌可用于访问 userinfo 端点以获取其他用户信息。

我无法理解的一件事是,在 #1 和 #2 中获得的访问令牌之间是否有任何区别。如果没有区别,如果我们实现 OIDC,我们是否需要 OAuth2.0。

【问题讨论】:

    标签: oauth-2.0 openid-connect access-token


    【解决方案1】:

    您倾向于通过插入 Open Id Connect 安全库将 OIDC 和 OAuth 2.0 作为组合流程一起实施。

    例如,对于移动应用程序,插入AppAuth Libraries 是很常见的,这会给你这种行为:

    • 使用 response_type=code 的 OAuth 2.0 授权重定向
    • Open Id Connect 部分通过包含 scope=openid 来启动
    • 然后您会获得一个授权码 (OAuth 2.0)
    • 然后您将授权码换成令牌
    • 您将获得一个访问令牌(OAuth 2.0 部分)
    • 您还会获得一个 id 令牌(OIDC 部分)

    实际上,OIDC 引入了一些标准化,使开发 UI 流程和处理 API 中的访问令牌更容易,例如:

    • 元数据端点,告诉我们所有其他端点的位置
    • JWKS 端点,我们可以从中获取访问令牌的公钥

    通常在我自己的代码中,我根本不使用 id 令牌。但是,最好接收一个,以便 AppAuth 等库可以对收到的令牌进行额外的验证检查。

    如果有帮助,我的Message Workflow Blog Post 总结了一些消息和端点的使用。

    【讨论】:

      猜你喜欢
      • 2013-04-30
      • 1970-01-01
      • 2016-11-23
      • 2013-06-24
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 2018-12-26
      相关资源
      最近更新 更多