使用 OpenId Connect 来保护 API



我有几个 REST API,我想用联合授权服务器来保护它们。本页:https://oauth.net/articles/authentication/建议仅靠OAuth2不足以进行身份验证,应该使用OpenId Connect扩展来正确使用它。

但是,我感觉 OIDC 所做的只是定义一个身份端点以及相关的范围和声明。如果我没有特别需要这些标识声明,那么使用纯 OAuth 授权代码对用户进行身份验证和保护资源有什么问题?还是 OAuth2 仅用于委派对代表用户工作的客户端应用程序的访问权限(这不是我的用途(?

感谢您的输入!

大多数与最终用户身份验证相关的工作都发生在事物的 UI 方面,当然涉及授权重定向、身份提供程序、同意表单等。

就安全 REST API 的代码而言,您可以改为执行以下类型的操作。正如您所说,这主要是 OAuth 2.0 行为,尽管 Open Id Connect 端点可能很有用:

  • 验证从授权服务器收到的访问令牌
  • 读取令牌声明以标识经过身份验证的用户
  • 为此,您可能需要从 JWKS 终端节点下载令牌签名密钥
  • 您的 API 可以从用户信息终端节点查找更多详细信息
  • 您的 API 可以使用元数据终端节点来获取上述终端节点位置
  • 然后,API 将根据声明和范围应用授权规则

OAuth是一个授权框架。在OpenID Connect之前,一些组织越来越多地使用OAuth作为身份验证机制,正如您在问题中所述。虽然这在技术上是可行的,但在一个实现到下一个实现之间充斥着不一致。这种方法的标准化出现在OpenID Connect中,这组供应商基本上说让我们为我们一直在做的事情提出一个标准化的方法。标准化方法的好处是协作、安全性等。OAuth 的 openid 范围诞生了。

相关内容

  • 没有找到相关文章

最新更新