首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OAuth授权与身份验证

OAuth授权与身份验证
EN

Stack Overflow用户
提问于 2015-11-14 06:31:16
回答 1查看 44.7K关注 0票数 102

OAuth术语已经困扰我很长一段时间了。OAuth授权是否如某些人所建议的那样,或者是身份验证?

如果我错了,请纠正我,但我一直认为授权是允许某人访问资源的行为,但是OAuth似乎没有任何实现来实际允许用户访问给定的资源。所有OAuth实现都在为用户提供令牌(签名的,有时是加密的)。然后,每次调用后端服务端点时都会传递这个令牌,在那里检查令牌的有效性,这也不是OAuth所关心的问题。

我认为OAuth身份验证(每篇文章都说不是)需要用户提供凭据,从而证明用户应该/不应该拥有访问权限吗?

因此,看起来OAuth既不是授权,也不是身份验证,因为它们必须由其他进程执行。那么到底是什么呢?它是一个用于传递令牌的进程吗?它是不是真的没有什么特别的意思?

很难问一个关于这个主题的问题而不听起来神秘和迷信(幽灵和小妖精),所以我希望回答这个问题也不是一件简单的事情。风险自负。

EN

回答 1

Stack Overflow用户

发布于 2022-02-27 10:46:44

OAuth是一种授权协议。它不是为身份验证而设计的。是的,在OAuth过程中有一个步骤,身份服务器对资源所有者进行身份验证。它发生的方式不属于OAuth协议。这就是OAuth不关心身份验证的原因。

OAuth通过向第三方(服务提供商)提供访问令牌来执行授权,该第三方将能够通过提供令牌来授权对资源的访问。

假设有一个要求,即服务提供者希望代表资源所有者访问资源(受身份服务器保护)。因此,资源所有者将首先进行身份验证,然后授予服务提供商访问特定资源的权限。则身份服务器将为服务提供商发布访问令牌。稍后,服务提供商可以使用该令牌访问资源。

在这里,OAuth并不关心谁在携带访问令牌或试图访问资源。它验证访问令牌,并允许第三方访问资源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33702826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档