Oauth 2.0 使用Cloud Foundry API客户端凭据时出现令牌错误
我正试图创建一个插件,将CloudFoundry事件的通知发送到我们的聊天室,但这几天我一直在与API auth进行激烈的斗争。基本上,我是在尝试消费:Oauth 2.0 使用Cloud Foundry API客户端凭据时出现令牌错误,oauth-2.0,cloud-foundry,cloudfoundry-uaa,Oauth 2.0,Cloud Foundry,Cloudfoundry Uaa,我正试图创建一个插件,将CloudFoundry事件的通知发送到我们的聊天室,但这几天我一直在与API auth进行激烈的斗争。基本上,我是在尝试消费: cf curl/v2/events 但是我试图通过Node.js而不是通过Node.js进行等效的底层调用。从我对OAuth2的阅读来看,只读的非代理用户服务器端纯应用程序是一个很好的应用程序。我找不到支持客户端凭据的节点的CF客户端库,因此我尝试自己执行此操作…未成功。以下是我在bash中尝试过的: CLIENT_ID=hubot cf测试
cf curl/v2/events
但是我试图通过Node.js而不是通过Node.js进行等效的底层调用。从我对OAuth2的阅读来看,只读的非代理用户服务器端纯应用程序是一个很好的应用程序。我找不到支持客户端凭据的节点的CF客户端库,因此我尝试自己执行此操作…未成功。以下是我在bash中尝试过的:
CLIENT_ID=hubot cf测试
客户_SECRET=mysecret
uaac客户端添加$client\u ID--secret$client\u secret--scope uaa.none--authorized\u grant\u类型“客户端\u凭据”
curl-X POST--用户“$CLIENT\u ID:$CLIENT\u SECRET”-d'grant\u type=CLIENT\u凭据”https://uaa.mycloudfoundry.com/oauth/token
#复制上一个响应中的access_令牌值
curl-H“授权:持有人eyJhbGc…”https://api.mycloudfoundry.com/v2/events
这让我
{
“代码”:1000,
“说明”:“无效的身份验证令牌”,
“错误代码”:“CF InvalidAuthToken”
}
我做错了什么愚蠢的小事?提前谢谢
p.S.是我在Hubot插件方面的进展,如果有人感兴趣。检查您的
~/.cf/config.json
文件。cf
命令使用该文件来维护其当前状态。您将在其中看到安全令牌:AccessToken
和refreshttoken
AccessToken
是您应该用于CLIENT\u SECRET
的令牌,但是该令牌的生命周期非常短,请考虑几分钟。一旦过期,您需要使用RefreshToken
获取一个新的。因此,我们需要找到一个显示刷新令牌的示例,您可以在该示例之后对代码进行建模
权威参考是cf
命令本身的来源;这里有一些代码:
如果您更喜欢Java,这里有一些代码:
关于UAA的更多信息,请点击这里:您是否拥有
hubot cf测试客户机的scopecloud\u controller.admin
?我认为,您需要它来访问事件流