postman 如何从REST API(PUT方法)更新Keycloak密码?

shstlldc  于 2022-11-07  发布在  Postman
关注(0)|答案(3)|浏览(201)

我为LDAP用户设置了一个keycloak服务器,以利用我的应用程序上的SSO。我希望通过Keycloak API更改登录用户在我的应用程序上的密码。因此,将来,我的Angular应用程序将能够向keycloak API发出请求,以更改登录用户的密码。
所以我试着做文档中指出的事情(方法PUT,reset-password),但没有成功...我用postman做了测试,我想知道我的令牌是否是要使用的令牌?问题是从其他地方来的吗?
我有这个网址:{url}/auth/admin/realms/{realm}/users/{id user}/reset-password/``{url}/auth/admin/realms/{realm}/users/{id user}/reset-password/
我有这样的标题:
Content-typeapplication/json
我有这样的身体:

{
    "pass" : {
        "type": "password",
        "temporary": false,
        "value": "my-new-password"
    }
}

如果我没有尝试快速更新令牌,我会收到401错误(这让我说问题可能不是来自令牌),当我通过postman oAuth 2.0获得新令牌时,我会收到403或400错误
我有时会收到这样的信息:
Unrecognized field "pass" (class org.keycloak.representations.idm.CredentialRepresentation), not marked as ignorable
求求你,救救我!
你可以看到我的授权在 Postman ,我不知道什么是“状态”

kq4fsx7k

kq4fsx7k1#

PUT的主体应该是凭证表示,即

{
  "type":"password",
  "value":"my-new-password",
  "temporary":false
}
qij5mzcb

qij5mzcb2#

您可以将POST方法与下列参数搭配使用:
网址:

http://[Server Address]/auth/admin/realms/[Realm Name]/users

标题:

Content-Type application/json

正文:

{
    "username": "test",
    "firstName": "test",
    "lastName": "test",
    "email": "test@gmail.com",
    "enabled": true,
    "credentials": [{
        "type": "password",
        "value": "123456",
        "temporary": false
    }]
}
vkc1a9a2

vkc1a9a23#

将通行证更改为凭据。
最好检查当前密码以增加安全性

相关问题