无法为IBM Visual Recognition API生成刷新令牌

时间:2019-05-30 12:58:48

标签: visual-recognition

我正在尝试使用基于IAM令牌的身份验证。我能够生成“访问令牌”,并且可以使用“访问令牌”进行操作。现在我在生成“刷新令牌”时遇到问题。我正在关注此链接https://cloud.ibm.com/docs/services/watson?topic=watson-iam

我正在使用以下命令来生成刷新令牌。这里,使用用户名作为“ apikey”并将值作为我的密钥获得的授权标头值。我使用的{refreh-token}值是在生成“访问令牌”时收到的。

curl -k -X POST --header "Authorization: Basic Yng6Yng=" --data-urlencode "grant_type=refresh_token" \ --data-urlencode "refresh_token={refresh-token}" "https://iam.bluemix.net/identity/token"

我希望获得刷新令牌,但会收到错误{“ context”:“ requestId”:“ 021c3482 ...”“},” errorCode“:” BXNIM0507E“,” errorMessage“:”对于OpenID Connect相关API,您需要将您的客户端凭据作为基本授权标头发送”}

有人可以帮助我了解问题出在哪里吗

1 个答案:

答案 0 :(得分:0)

https://cloud.ibm.com/docs/services/watson?topic=watson-iam中的描述错误地描述了刷新情况。我将跟进文档团队以更新该部分。 这是关于如何获取API密钥令牌的一般说明: https://cloud.ibm.com/docs/iam?topic=iam-iamtoken_from_apikey

对于API的使用,IBM Cloud允许您生成访问令牌,而无需提供客户机标识/密钥。在这种情况下,假设一个default客户ID,仅允许为其创建API密钥的令牌,但无权使用任何其他授权类型-包括grant_type refresh_token。因此,只需在第一次调用时从API密钥授予的响应中取消刷新令牌即可-您将无法使用它。

在API密钥用例中,无论如何,使用grant_type refresh_token并没有获得具有API密钥授予类型的新访问令牌的好处-所有验证步骤都是在内部完成的(用户是否存在stil) /是用户仍在帐户中/ ...)相同。但是刷新令牌最终会过期-API密钥不会过期。