如何在 GO 中获取 Azure AD JWT
How to get Azure AD JWT in GO
所以我正在用 Go 试水。我需要手动对受 Azure AD 保护的端点进行 REST 调用。我正在使用 Azure Identity 包,但我仍然无法获得令牌。
package main
import (
"context"
"fmt"
azi "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
cred, err := azi.NewInteractiveBrowserCredential(nil)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println("No error ")
var ctx = context.Context()
fmt.Println(cred.GetToken(ctx))
}
然后会产生以下错误响应
# command-line-arguments
.\main.go:19:27: missing argument to conversion to context.Context: context.Context()
有人可以指出我做错事的正确方向吗?
context.Context 是一个接口,而不是方法 (https://pkg.go.dev/context#Context),这就是您收到错误的原因,您正试图将任何内容转换为该类型。
调用 GetToken 方法需要实现 context.Context.
的东西
尝试用 var ctx = context.Background()
替换 var ctx = context.Context()
在此处阅读有关 context.Context 的更多信息 https://pkg.go.dev/context
所以我正在用 Go 试水。我需要手动对受 Azure AD 保护的端点进行 REST 调用。我正在使用 Azure Identity 包,但我仍然无法获得令牌。
package main
import (
"context"
"fmt"
azi "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
cred, err := azi.NewInteractiveBrowserCredential(nil)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println("No error ")
var ctx = context.Context()
fmt.Println(cred.GetToken(ctx))
}
然后会产生以下错误响应
# command-line-arguments
.\main.go:19:27: missing argument to conversion to context.Context: context.Context()
有人可以指出我做错事的正确方向吗?
context.Context 是一个接口,而不是方法 (https://pkg.go.dev/context#Context),这就是您收到错误的原因,您正试图将任何内容转换为该类型。
调用 GetToken 方法需要实现 context.Context.
的东西尝试用 var ctx = context.Background()
var ctx = context.Context()
在此处阅读有关 context.Context 的更多信息 https://pkg.go.dev/context