首页 文章

PHP Bitbucket API OAuth-2 unauthorized_client错误

提问于
浏览
0

我正在尝试使用OAuth-2和使用OAuth2客户端脚本连接到BitBucket API .

我进入重定向页面,其中显示“确认访问您的帐户”,然后点击“授予访问权限”,将其重定向回我的回调网址 . 但是我收到一条错误消息,上面写着“未经授权的客户”,其描述如下:

缺少客户凭证;此请求需要使用OAuth客户端ID和密码进行身份验证

我提供客户端ID和客户端密码,所以我不确定问题出在哪里 . 我已经搜索了这个主题了一段时间,但信息有限 .

任何帮助,将不胜感激 .

2 回答

  • 1

    我通过使用BitBucket文档中的curl命令行解决了这个问题:

    $ curl -X POST -u "client_id:secret" \
    https://bitbucket.org/site/oauth2/access_token \
    -d grant_type=authorization_code -d code={code}
    

    我在搜索时发现的答案是client_id和secret被视为用户名和密码 . 这起初对我来说并不明显 . 使用OAuth客户端脚本似乎不适用于BitBucket的OAuth2版本 . 但是使用带有BitBucket的OAuth 1可以毫无问题地工作 .

    我希望这可以帮助任何有类似问题的人 .

  • 0

    你可以试试这个URL $ curl -X POST -u "client_id:secret" https://bitbucket.org/site/oauth2/access_token -d grant_type=password -d username={username} -d password={password}

    ///这是bitbucket公开的API

    其中client_id:您的客户ID(例如:75frt ****)秘密:您的密钥(例如:8uyrioooreu *****)

    用户名密码 :

    所以上面的URL将更新为 $ curl -X POST -u "abc*******:123****" https://bitbucket.org/site/oauth2/access_token -d grant_type=password -d username={abc123@gmail.com} -d password={******}

    注意:最初我在“用户名”字段中使用了别名用户名,我遇到错误“未经授权的客户端”错误,稍后当我将用户名更改为我的注册电子邮件ID [abc123@gmail.com]时,它运行正常 .

    希望这可以帮助 .

相关问题