1 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個贊
要使用Keycloak Admin API,它允許創(chuàng)建客戶端,你需要使用admin-cli客戶端。
這就是為什么:
jwt, _ = client.LoginAdmin(context.Background(), "admin", "Pa55w0rd", "master")
之所以有效,是因?yàn)?LoginAdmin 調(diào)用了 admin-cli,而:
jwt, _ := client.Login(context.Background(), "my-go-service", "vizhhp0qnDGaiq4k0aOzzn4RaaqSwU2b", "master", "admin", "Pa55w0rd")
正在從客戶端“my-go-service”請求令牌,不允許執(zhí)行對 Admin Rest API 的調(diào)用。因此:
403 Forbidden: unknown_error
如果您查看LoginAdmin實(shí)現(xiàn),您可以確認(rèn)我所說的:
// LoginAdmin performs a login with Admin client
func (client *gocloak) LoginAdmin(ctx context.Context, username, password, realm string) (*JWT, error) {
return client.GetToken(ctx, realm, TokenOptions{
ClientID: StringP(adminClientID),
GrantType: StringP("password"),
Username: &username,
Password: &password,
})
}
在哪里
adminClientID string = "admin-cli"
- 1 回答
- 0 關(guān)注
- 117 瀏覽
添加回答
舉報