如何在具有自定义身份验证的django rest框架中使用keycloak
how to use keycloak in django rest framework with custom authentication
这个问题的更好标题是:如何在 django grpc 框架中使用 keycloak。
我想用keycloak处理用户注册。这是没有密钥斗篷的我的服务:
class UserService(Service):
def Create(self, request, context):
serializer = UserProtoSerializer(message=request)
serializer.is_valid(raise_exception=True)
serializer.save()
# some code for sending activation email
return serializer.message
并且我使用的是自定义用户。
我在 keycloak 管理控制台中创建了一个领域和客户端。将这两者联系起来的最佳方式是什么?我可以尝试使用 drf-keycloak-auth or python-keycloak 吗?
对于自定义身份验证,最好使用 python-keycloak。您可以在 keycloak 和您的数据库中创建一个用户对象,并在其中保存有关用户的不同信息。
如果您按照 keycloak documentation 中的步骤进行操作,文档就基本清楚了。我不太明白的是 keycloak_admin.create_user 的输入参数,用于在名为 'test' 的领域中创建新用户。这是文档中令人困惑的代码:
keycloak_admin = KeycloakAdmin(server_url="http://localhost:8080/auth/",
username='example-admin',
password='secret',
realm_name="master",
user_realm_name="only_if_other_realm_than_master",
client_secret_key="client-secret",
verify=True)
现在,在从 keycloak 文档跳到 python-keycloak 文档之前,您应该知道的是,您应该在新的领域管理角色中赋予一个用户。 check this link.
keycloak_admin = KeycloakAdmin(server_url="http://localhost:8080/auth/",
username='test@user.com',
password='123',
realm_name="test",
verify=True)
这个问题的更好标题是:如何在 django grpc 框架中使用 keycloak。
我想用keycloak处理用户注册。这是没有密钥斗篷的我的服务:
class UserService(Service):
def Create(self, request, context):
serializer = UserProtoSerializer(message=request)
serializer.is_valid(raise_exception=True)
serializer.save()
# some code for sending activation email
return serializer.message
并且我使用的是自定义用户。 我在 keycloak 管理控制台中创建了一个领域和客户端。将这两者联系起来的最佳方式是什么?我可以尝试使用 drf-keycloak-auth or python-keycloak 吗?
对于自定义身份验证,最好使用 python-keycloak。您可以在 keycloak 和您的数据库中创建一个用户对象,并在其中保存有关用户的不同信息。
如果您按照 keycloak documentation 中的步骤进行操作,文档就基本清楚了。我不太明白的是 keycloak_admin.create_user 的输入参数,用于在名为 'test' 的领域中创建新用户。这是文档中令人困惑的代码:
keycloak_admin = KeycloakAdmin(server_url="http://localhost:8080/auth/",
username='example-admin',
password='secret',
realm_name="master",
user_realm_name="only_if_other_realm_than_master",
client_secret_key="client-secret",
verify=True)
现在,在从 keycloak 文档跳到 python-keycloak 文档之前,您应该知道的是,您应该在新的领域管理角色中赋予一个用户。 check this link.
keycloak_admin = KeycloakAdmin(server_url="http://localhost:8080/auth/",
username='test@user.com',
password='123',
realm_name="test",
verify=True)