gpt4 book ai didi

oauth-2.0 - 检查 "grant_type"参数

转载 作者:行者123 更新时间:2023-12-03 16:06:54 25 4
gpt4 key购买 nike

我正在根据此文档:( https://developers.vendhq.com/documentation/oauth.html#oauth)使用OAuth 2.0进行授权,并出现以下错误:

"error": "invalid_request", "error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"grant_type\" parameter."



请求

方法: POST
Content-Type: application/x-www-form-urlencoded

URL : https://{domain_prefix}.vendhq.com/api/1.0/token

参数:
code          = {code}

client_id = {app_id}

client_secret = {app_secret}

grant_type = authorization_code

redirect_uri = {redirect_uri}

最佳答案

根据RFC6749, section 4.1.3,POST请求的编码主体应类似于code={code}&client_id={app_id}&client_secret={app_secret}&grant_type=authorization_code&redirect_uri={redirect_uri}

例子:

grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb&client_id=CLIENT_ID_1234&client_secret=CLIENT_SECRET



不要忘记对重定向Uri进行编码: http://foo.bar/ => http%3A%2F%2Ffoo.bar%2F
关于身份验证错误,可能是因为授权服务器不支持发布请求中的客户端 secret (或不允许您的客户端使用它)。
然后尝试添加具有基本身份验证方案的Authorization header 。
此 header 的值为 Basic {ENCODED_AUTHENTICATION}{ENCODED_AUTHENTICATION} =base64(client_id + ':' + client_secret)
使用此 header ,必须删除发布请求中的 client_idclient_secret。您的请求参数变为 code={code}&grant_type=authorization_code&redirect_uri={redirect_uri}

关于oauth-2.0 - 检查 "grant_type"参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37602334/

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