【问题标题】:Define OAuth 2.0 Token Request in Postman在 Postman 中定义 OAuth 2.0 令牌请求
【发布时间】:2021-02-12 10:56:16
【问题描述】:

我正在尝试了解 OAuth 2.0,它几乎没有记录,我正在尝试在我的应用程序中实现 OAuth 2.0 客户端调用。我正在使用 Postman 来模拟 API 调用,这很有效。 Postman 显示橙色大按钮“获取新访问令牌”,我在其中选择授予类型、URL、客户端 ID、客户端密码、范围和身份验证类型。单击按钮 Request Token 后,API 会返回新的不记名令牌,表示身份验证成功。这对我来说当然是完全没用的方法,因为我不知道刚刚发生了什么。我需要创建实际的请求,向我展示它是如何形成的,以便返回带有不记名令牌的成功响应。邮递员绝对没有理由不让我看到或将其无用的 UI 转换为功能性 API 请求。我所拥有的只是带有橙色按钮“请求令牌”的黑框,谁知道呢。

有谁知道,如何在 Postman 中形成有效的 OAuth 2.0 不记名令牌请求,最好将他们无用的令牌请求对话框直接转换为请求?

【问题讨论】:

    标签: oauth-2.0 postman


    【解决方案1】:

    经过一些研究,我已经能够形成有效的 OAuth2 令牌请求。为了清楚起见,这里是一个代码示例,我们需要将其转换为 Postman 响应:

    var client = new RestClient("https://api_address/token");
    client.Timeout = -1;
    var request = new RestRequest(Method.POST);
    request.AddHeader("Authorization", "Basic hash");
    request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
    request.AddParameter("grant_type", "client_credentials");
    IRestResponse response = client.Execute(request);
    Console.WriteLine(response.Content);
    

    请求的hash 部分由client_id 和client_secret 值组成。在 Postman 中,这是这样定义的:

    1. 使用令牌 API url 创建一个简单的 POST 请求。
    2. 转到Authorization 选项卡。
    3. 选择Basic Auth
    4. 在相应字段中输入client_id 和client_secret 作为用户名和密码。
    5. 转到Body 选项卡。
    6. 选择x-www-form-urlencoded。
    7. 输入密钥grant_type,值为client_credentials。

    此示例适用于 客户端凭据 流程。 OAuth2作者觉得称auth场景为auth场景不够酷,所以叫flows,废话,但听起来更酷。

    【讨论】:

      【解决方案2】:

      流程一:

      流程二:

      首先,判断你的token是否通过header传递

      可能是:

      其他进程:

      【讨论】:

      • 您的方法似乎是一本关于如何使用我已经拥有的不记名令牌丰富常规 API 调用的手册。问题试图描述的是我将如何在不通过 Postman UI 请求制作工具的情况下请求不记名令牌,而是自己定义一个有效的请求。
      猜你喜欢
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      • 2021-04-26
      • 2012-06-22
      • 2011-09-05
      • 2017-10-26
      相关资源
      最近更新 更多