Bitbucket API - 无法从 JWT 生成访问令牌
Bitbucket API - Unable to Generate Access Token from JWT
我正在使用 Bitbucket Connect 应用程序并从 webhook 事件中获取 JWT
令牌。
当我使用最新的 JWT
获取 access token
时,访问令牌 API 返回空白作为响应。
API:
curl -X POST -H "Authorization: JWT {jwt_token}" \ https://bitbucket.org/site/oauth2/access_token \ -d grant_type=urn:bitbucket:oauth2:jwt
示例:
curl -X POST -H "Authorization: JWT ey*****XVCJ9.eyJpc3MiOi****asdfQ.**BBD**" \
https://bitbucket.org/site/oauth2/access_token \
-d grant_type=urn:bitbucket:oauth2:jwt
回应
{blank}
API参考:
https://developer.atlassian.com/cloud/bitbucket/oauth-2/
谢谢
在将 sub
密钥添加到有效负载之前,我遇到了同样的问题。将值设置为在应用程序安装生命周期事件期间 clientKey
中收到的值。
我按照此文档生成了访问令牌并且成功了。
https://pawelniewiadomski.com/2016/06/06/building-bitbucket-add-on-in-rails-part-7/
使用 Bitbucket Cloud API
生成访问令牌的大部分内容
def get_access_token
unless current_jwt_auth
raise 'Missing Authentication context'
end
# Expiry for the JWT token is 3 minutes from now
issued_at = Time.now.utc.to_i
expires_at = issued_at + 180
jwt = JWT.encode({
iat: issued_at,
exp: expires_at,
iss: current_jwt_auth.addon_key,
sub: current_jwt_auth.client_key
}, current_jwt_auth.shared_secret)
response = HTTParty.post("#{current_jwt_auth.base_url}/site/oauth2/access_token", {
body: {grant_type: 'urn:bitbucket:oauth2:jwt'},
headers: {
'Content-Type' => 'application/x-www-form-urlencoded',
'Authorization' => 'JWT ' + jwt
}
})
if response.code == 200
Response.new(200, response.parsed_response)
else
Response.new(response.code)
end
end
我正在使用 Bitbucket Connect 应用程序并从 webhook 事件中获取 JWT
令牌。
当我使用最新的 JWT
获取 access token
时,访问令牌 API 返回空白作为响应。
API:
curl -X POST -H "Authorization: JWT {jwt_token}" \ https://bitbucket.org/site/oauth2/access_token \ -d grant_type=urn:bitbucket:oauth2:jwt
示例:
curl -X POST -H "Authorization: JWT ey*****XVCJ9.eyJpc3MiOi****asdfQ.**BBD**" \
https://bitbucket.org/site/oauth2/access_token \
-d grant_type=urn:bitbucket:oauth2:jwt
回应
{blank}
API参考:
https://developer.atlassian.com/cloud/bitbucket/oauth-2/
谢谢
在将 sub
密钥添加到有效负载之前,我遇到了同样的问题。将值设置为在应用程序安装生命周期事件期间 clientKey
中收到的值。
我按照此文档生成了访问令牌并且成功了。 https://pawelniewiadomski.com/2016/06/06/building-bitbucket-add-on-in-rails-part-7/
使用 Bitbucket Cloud API
生成访问令牌的大部分内容def get_access_token
unless current_jwt_auth
raise 'Missing Authentication context'
end
# Expiry for the JWT token is 3 minutes from now
issued_at = Time.now.utc.to_i
expires_at = issued_at + 180
jwt = JWT.encode({
iat: issued_at,
exp: expires_at,
iss: current_jwt_auth.addon_key,
sub: current_jwt_auth.client_key
}, current_jwt_auth.shared_secret)
response = HTTParty.post("#{current_jwt_auth.base_url}/site/oauth2/access_token", {
body: {grant_type: 'urn:bitbucket:oauth2:jwt'},
headers: {
'Content-Type' => 'application/x-www-form-urlencoded',
'Authorization' => 'JWT ' + jwt
}
})
if response.code == 200
Response.new(200, response.parsed_response)
else
Response.new(response.code)
end
end