使用2leg oauth令牌调用Bitbucket REST API

Kam*_*sif 3 php oauth bitbucket

我试图使用2脚oauth身份验证来调用bitbucket的api.

我打电话

https://bitbucket.org/!api/1.0/oauth/request_token
Run Code Online (Sandbox Code Playgroud)

用我的oauth秘密和密钥获得以下内容:

oauth_token_secret=<token_secret>&oauth_token=<token>&oauth_callback_confirmed=true
Run Code Online (Sandbox Code Playgroud)

我如何使用它来调用api函数,例如

https://bitbucket.org/api/1.0/user 
Run Code Online (Sandbox Code Playgroud)

小智 5

收到accessstoken&secret后,当您发送请求时添加(授权)标头,

Authorization: OAuth oauth_consumer_key="<YourKey>",oauth_signature_method="HMAC-SHA1",oauth_timestamp="<TIMESTAMP>",oauth_nonce="2694561796",oauth_version="1.0",oauth_signature="<Signature>"
Run Code Online (Sandbox Code Playgroud)

哪里,

TIMESTAMP =当前纪元(ms)oauth_nonce随机数

重要的是oauth_signature

请仔细阅读如何生成,

Oauth 1.0签名

签名必须在发送请求之前预先计算.这样就可以了.

要测试它,你可以在这里试用它,Apigee Bitbucket API控制台

PS:奇怪的是Bit Bucket使用OAuth 1.0,因其漏洞而闻名.

会话固定攻击