使用OpenId Connect保护API

问题描述 投票:0回答:2

我有几个REST API,希望通过联合授权服务器进行保护。此页面:https://oauth.net/articles/authentication/建议仅OAuth2不足以进行身份​​验证,因此应使用OpenId Connect扩展名将其正确设置。

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

感谢您的输入!

api oauth oauth-2.0 openid openid-connect
2个回答
0
投票

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

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

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

0
投票

OAuth是授权框架。正如您在问题中所指出的,在使用OpenID Connect之前,一些组织越来越多地使用OAuth作为身份验证机制。虽然从技术上讲这是可行的,但在一个实施与另一个实施之间存在很多不一致之处。此方法的标准化随OpenID Connect一起出现,这组供应商实质上表示让我们针对我们一直在做的事情提出标准化方法。标准化方法的好处是协作,安全性等。OAuth的openid范围诞生了。

© www.soinside.com 2019 - 2024. All rights reserved.