Derick
505 words
3 minutes
什么是OAuth2.0

OAuth 2.0 是一个授权框架,它使应用程序能够在不共享用户密码的情况下访问用户在另一个服务(如 Facebook 或 GitHub)上的数据。它本质上是应用程序、服务和用户之间的一种数字握手,每个人都同意共享什么。

OAuth 2.0是如何工作的。

这个过程通常包括 6 个步骤,涉及 4 个组件:

🔸 客户端(想要访问的应用程序) 🔸 资源所有者(用户) 🔸 授权服务器 🔸 资源服务器

为了理解这个过程,让我们看看一个游戏如何连接到玩家的 Facebook 账户。

𝗦𝘁𝗲𝗽 𝟭) 请求访问: 在游戏(客户端)中,玩家(用户)点击“连接 Facebook”按钮,以链接他们的个人资料并找到朋友。

𝗦𝘁𝗲𝗽 𝟮) 重定向到服务: 游戏将玩家重定向到 Facebook(服务)的登录页面。

𝗦𝘁𝗲𝗽 𝟯) 请求权限: 登录后,游戏请求访问的数据将显示给玩家,他们可以选择允许或拒绝。

𝗦𝘁𝗲𝗽 𝟰) 授权码: 如果玩家给予了他们的批准,Facebook 将玩家与授权码(来自授权服务器)一起重定向回游戏。该代码是一个临时凭证,证明了玩家的同意。

𝗦𝘁𝗲𝗽 𝟱) 交换代码以获取令牌: 游戏现在将授权码以及其自身的身份信息在后台发送到 Facebook 的服务器。Facebook 识别授权码和游戏的身份,并返回一个访问令牌。

𝗦𝘁𝗲𝗽 𝟲) 使用令牌: 游戏现在可以使用访问令牌从 Facebook(来自资源服务器)请求已经同意的数据,比如玩家的朋友列表。

在这个过程中,玩家的 Facebook 凭证从未被共享,但游戏能够从 Facebook 访问到玩家同意的数据。这就是 OAuth 2.0 所做的事情;允许第三方应用程序以安全的方式从服务中访问数据,而无需共享凭证。

什么是OAuth2.0
https://blog.ithuo.net/posts/what-is-oauth2-0/
Author
Derick
Published at
2022-12-07