gpt4 book ai didi

curl - RingCentral Auth Token 在 Curl 调用中失败 - "Unauthorized for this grant type"

转载 作者:行者123 更新时间:2023-12-05 04:08:20 24 4
gpt4 key购买 nike

我正在尝试从 RingCentral auth token 获取授权 token /restapi/oauth/token 带有 cURL 的端点,但它因错误而失败:

400 Bad Request

{
"error": "unauthorized_client",
"error_description": "Unauthorized for this grant type",
"errors": [
{
"errorCode": "OAU-251",
"message": "Unauthorized for this grant type"
}
]
}

这是我试过的:

curl -X POST "https://platform.devtest.ringcentral.com/restapi/oauth/token" \
-H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u "clientId:clientpassword" \
-d "username=username&password=password&extension=101&grant_type=password"

最佳答案

OAuth 2.0 密码流程

您正在使用 OAuth 2.0 密码授予 (grant_type=password) 发出 OAuth 2.0 请求,在 RingCentral 开发人员门户中也称为“密码流”,正式名称为“资源所有者密码” OAuth 2.0 IETF RFC 6749 标准中的凭证”授权。

为了使用密码流,您的应用程序必须支持密码流授权类型,如下面的屏幕截图所示。

要使用此流程,您的应用需要满足两个条件:

  • 能够保护客户端 secret :应用程序凭据包括客户端 ID 和客户端 secret 。对于密码流,必须保护客户端 secret 不受最终用户的影响,例如在安全的服务器应用程序上。它不能与仅限浏览器的客户端应用程序一起使用,因为最终用户将能够检查和检索客户端密码。
  • 成为私有(private)应用:密码流程要求应用所有者有权访问资源所有者(也称为最终用户)的密码。因此,它只能用于应用程序所有者和资源所有者在同一组织中的私有(private)应用程序。公共(public)应用不支持它,因为不应向应用开发者提供密码。

要使用此授权类型,您需要确保您的应用在 RingCentral 开发者门户中配置为具有密码流授权,如下所示:

创建应用向导

创建应用程序时,请确保选中“密码流”。您的选项基于应用的“应用程序类型”和“平台类型”,而这又与应用的安全规范相关。

RingCentral Password Flow Create App Wizard

这是一个动画 GIF,显示了各种应用程序对 OAuth 授权设置。

应用设置页面

要验证现有应用是否启用了“密码流”,请转至应用的“设置”页面的“OAuth 设置”部分并验证密码流是否存在。

RingCentral Password Flow App Settings Page

以下是 IETF RFC 6749 中有关密码授予的一些信息:

https://www.rfc-editor.org/rfc/rfc6749#section-1.3.3

关于curl - RingCentral Auth Token 在 Curl 调用中失败 - "Unauthorized for this grant type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47692828/

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