我想使用 go-cfclient库连接到 Cloud Foundry 并检查应用程序服务等。
我能够连接 Java/Node/Go,同时使用我的用户密码在代码中显式。
现在我想使用 token 模拟一个场景,即而不是使用我的密码,使用我的用户 token 来模拟连接.
我怎样才能实现这种模拟?
首选 go-cfclient或节点。
更新
我需要一个带有 CF token 的 E2E 真实示例,其中用户使用一些示例 UI 并可能在第一次提供一些凭据,但所有后续请求都应仅使用 CF token 。
我需要这个 Golang 的例子。
最佳答案
您可以从下面的链接找到 CF 的典型 OAuth2 token 处理序列。将此token用于其他API调用,也可以引用其他测试用例。
无论如何,它是一个 OAuth2 token ,在其有效期之后就过期了。如果您在有效期内不刷新,则无法避免使用用户名/密码登录。
已更新
您已经说过您可以使用用户名和密码登录,所以您需要做的只是通过 API 调用获取 token 。像这样的东西:
c := &Config{
ApiAddress: myApiAddress,
Username: "foo",
Password: "bar",
}
client, err1 := NewClient(c)
if err1 != nil {
// error handling for connection failure
}
// you already reach here. right?
token, err2 := client.GetToken()
if err2 != nil {
// error handling for token retreive failure
}
// just do what you want with token
您可以通过查看来源找到幕后发生的事情:https://github.com/cloudfoundry-community/go-cfclient/blob/a0a191bdc19a7a7189c050444aeaf20d2a125875/client.go#L375
要了解更多信息,请尝试打印出 client
结构:
fmt.Printf("client: %v\n", client)
那我想你可以找到更多信息。
关于go - 如何使用带有用户 token E2E 的 CF 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51944243/