gpt4 book ai didi

oauth - 为什么需要将授权的 OAuth 1.0 请求 token 交换为访问 token ?

转载 作者:行者123 更新时间:2023-12-02 11:36:31 26 4
gpt4 key购买 nike

我想知道 OAuth 1.0 需要往返数据提供者以将授权请求 token 交换为访问 token 的原因是什么。

我对 OAuth 1.0 工作流程的理解是:

  1. 请求站点(消费者)从数据提供者站点(服务提供商)获取请求 token 。

  2. 请求站点要求数据提供者站点对用户进行身份验证,并传入回调。

  3. 用户经过身份验证并授权请求站点后,系统会通过提供的回调将用户引导回请求站点(消费者),该回调会传回现已授权的请求 token 和验证码。

  4. 请求站点将请求 token 交换为访问 token 。

  5. 请求站点使用访问 token 从数据提供者站点获取数据。

假设我猜对了,为什么回调不能简单地在步骤 3 中直接向请求站点提供访问 token ,从而消除步骤 4?为什么需要将请求 token 交换为访问 token 的请求?它是否只为要求用户手动输入验证码的消费者而存在,并认为它比访问 token 本身更短、更简单?

最佳答案

乔,

对于 OAuth 1.0,重要的是要记住哪些部分正在“服务器到服务器”发生,哪些部分涉及浏览器(“用户代理”)。如果您愿意的话,OAuth 的“要点”是获取消费者后端服务器的服务器端访问 token 和 secret ,而无需通过浏览器传递 secret 。

记住这一点:当用户授权请求 token 时,“回调”通过用户代理通过 HTTP 重定向发生。换句话说,回调中的任何数据(即验证程序代码和请求 token ,但不是请求 token SECRET)都会被浏览器“看到”。这就是为什么访问 token (和 secret )不能作为回调步骤的参数:这些需要直接从服务器到服务器进行通信,而不是通过浏览器。

关于oauth - 为什么需要将授权的 OAuth 1.0 请求 token 交换为访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2886803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com