我有多个REST API,希望通过联合授权服务器进行保护。此页面:https://oauth.net/articles/authentication/建议仅OAuth2不足以进行身份验证,因此应使用OpenId Connect扩展名将其正确设置。
但是,我觉得OIDC所做的只是定义一个身份终结点以及相关的范围和声明。如果我不是特别需要这些身份声明,那么使用纯OAuth授权代码来验证用户身份和保护资源有什么问题?还是OAuth2仅用于委派代表用户工作的客户端应用的访问权限(不是我的使用cas)?
感谢您的投入!
答案 0 :(得分:0)
OAuth是一个授权框架。正如您在问题中所指出的,在使用OpenID Connect之前,一些组织越来越多地使用OAuth作为身份验证机制。尽管从技术上讲这是可行的,但在一个实施与另一个实施之间存在很多不一致之处。这种方法的标准化随OpenID Connect一起出现,这组供应商实质上表示让我们针对我们一直在做的事情提出一种标准化方法。标准化方法的好处是协作,安全性等。OAuth的openid范围诞生了。
答案 1 :(得分:0)
大多数与最终用户身份验证相关的工作发生在事物的UI端,并且当然涉及授权重定向,身份提供者,同意表单等。
就安全REST API的代码而言,您可以执行以下类型的操作。正如您所说,这主要是OAuth 2.0行为,尽管Open Id Connect端点可能有用: