为什么 OAuth 是有效的身份验证过程?



我对OAuth身份验证感兴趣。 以前,我做过JSON Web Token授权,其中基本上将用户注册凭据发送到我在Node.js中实现的Web服务器,然后在加密密码和凭据后将用户凭据"合并"到JWT中。加密的密码与其他一些用户信息和新注册用户的令牌(取决于实现)一起保存在某个后端数据库(例如MongoDB)中。

现在,我想知道OAuth中新用户的"身份验证"是如何发生的。我只是想知道,因为我可以简单地使用现有的谷歌帐户登录,然后我被"认证"。

但问题是,这看起来更像是一个"访客帐户",而不是真正的用户注册。 我的意思是不应该有一些后端部分存储用户信息,然后您可以执行一些操作,例如为用户分配不同的角色以授予或限制对页面不同部分的访问权限,或者完整的后端部分是配置的一部分登录您的OAuth帐户?

在 JWT 中,该信息被编码到 JWT 中,您可以验证例如在客户端或服务器 API 后端加密到令牌中的用户角色,您可以在其中再次解密令牌并检查是否允许某些角色......OAuth如何处理整个事情?因为我在 OAuth 身份验证中看不到连接部分,所以我有某种"来宾帐户",但我的用户没有为我的特定应用程序或某些用例指定......还是这一切都是在他们的OAuth页面上处理的?

跟着我重复: OAuth 不是身份验证协议。 OAuth 2.0 不是身份验证协议。(但是你可以在OAuth 2.0之上构建一个,就像OpenID Connect所做的那样

。OAuth 2.0 不是授权协议。

OAuth 2.0通常被称为授权协议,甚至RFC 6749也被称为"OAuth 2.0授权框架"。但是,OAuth 2.0 是一种委派协议。

委派的是用户授权的子集。OAuth 2.0 甚至不执行授权,而是提供一个协议,OAuth 客户端可以在其中请求用户委派其部分权限。然后,用户可以批准或拒绝请求,然后 OAuth 客户端可以使用该批准的结果对其进行操作。

最新更新