keycloak.exceptions.KeycloakGetError: 404: b'' using Python 3.7

keycloak.exceptions.KeycloakGetError: 404: b'' using Python 3.7

当我尝试创建新的 client/realm 角色时,我得到:

File "C:/Users/User/PycharmProjects/untitled1/kc/code/keycloak_gab/x.py", line 28, in <module>
y = admin.create_client_role(payload=x, skip_exists='test')
  File "C:\Users\User\PycharmProjects\untitled1\venv\lib\site-packages\keycloak\keycloak_admin.py", line 713, in create_client_role
    return raise_error_from_response(data_raw, KeycloakGetError, expected_code=201, skip_exists=skip_exists)
  File "C:\Users\User\PycharmProjects\untitled1\venv\lib\site-packages\keycloak\exceptions.py", line 102, in raise_error_from_response
    response_body=response.content)
keycloak.exceptions.KeycloakGetError: 404: b''

这就是我的源代码示例:

    admin = KeycloakAdmin(server_url=server_addres,
                       username=user_n,
                       password=passw,
                       realm_name=realm,
                       verify=True)
x = admin.get_clients()[4]['id'] #['clientId']
y = admin.create_client_role(payload=x, skip_exists='test')

此客户端是使用 aws.saml-metadata.xml- 生成的,我给了他完整的允许范围,但是这条线不适用于我创建的任何客户端...

我有家属。

您似乎正在使用 client 有效负载(来自 get_clients() 的响应)而不是 client_rolecreate_client_role() 所需的有效负载)。您正在混合 clientclient_role 负载类型。

在 0.14.4 版本中修复了错误:

from keycloak import KeycloakAdmin

admin = KeycloakAdmin(server_url='https://server-url',
                  username='username',
                  password='password',
                  realm_name='realm',
                  verify=True)


client_id = admin.get_clients()[4]['id']

role = admin.create_client_role(client_role_id=client_id,
                            payload={'name': 'roleName', 'clientRole': True},
                            skip_exists='test')