当前位置: 首页 > 知识库问答 >
问题:

如何在带有自定义身份验证的django rest框架中使用keycloak

段干德泽
2023-03-14
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还是python-keycloak?

共有1个答案

颛孙英才
2023-03-14

对于自定义身份验证,最好使用python-keycloak。您可以在keycloak和数据库中创建一个用户对象,并在其中保存关于用户的不同信息。

如果您已经按照keycloak文档中的步骤进行了操作,那么文档几乎是清晰的。我不太明白的是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文档之前,您应该知道的是,您应该让一个用户担任新的领域管理角色。检查这个链接。

keycloak_admin = KeycloakAdmin(server_url="http://localhost:8080/auth/",
                               username='test@user.com',
                               password='123',
                               realm_name="test",
                               verify=True)
 类似资料:
  • 在过去的几周里,我一直在努力掌握KeyClope,这样我就可以实现一种使用遗留提供商(基于Oracle,带有会话表和各种奇怪的东西)对用户进行身份验证的方法。我们计划在不久的将来解决这个问题,但目前我们必须解决这个问题,所以我们的想法是在前线使用KeyClope——利用它提供的主要好处,比如SSO——在需要身份验证的应用程序中省略传统的身份验证提供程序。 我读了一些关于构建自定义OIDC身份提供程

  • 我试图在一个反应式Spring Boot应用程序中配置一个Spring Security性,该应用程序具有一个Vuejs前端,在未经身份验证时将用户重定向到外部OpenID提供程序(用于身份验证)。在用户通过OpenID提供程序进行身份验证并重定向回应用程序(前端)后,将根据OpenID提供程序的响应创建用户名密码身份验证令牌(身份验证),并手动进行身份验证。 但是,在执行此操作时,应用程序似乎无

  • 问题内容: 这是我的情况: 一个Web应用程序对许多应用程序执行某种SSO 登录的用户,而不是单击链接,该应用就会向正确的应用发布包含用户信息(名称,pwd [无用],角色)的帖子 我正在其中一个应用程序上实现SpringSecurity以从其功能中受益(会话中的权限,其类提供的方法等) 因此,我需要开发一个 自定义过滤器 -我猜想-能够从请求中检索用户信息,通过自定义 DetailsUserSe

  • 问题内容: 我可以使用Google帐户在AppEngine中对用户进行身份验证的方式非常好。 但是,我需要使用 自定义的身份验证登录系统 。 我将有一个AppUsers表,其中包含用户名和加密密码。 我阅读了有关gae会话的内容,但在启动应用安全性方面需要帮助。 如何跟踪经过身份验证的用户会话?设置cookie? 初学者。 问题答案: 您可以使用cookie来做到这一点……其实并不难。您可以使用C

  • 我在spring MVC项目中实现了一个自定义身份验证提供程序。在我自己的重载authenticate()方法中,我实现了自己的身份验证,其中我构造了自己的UserPasswordAuthenticationToken()并返回对象。 现在,上述对象“UserPasswordAuthentictionToken”中的用户ID被匿名化,密码为null,权限设置为授予该用户的权限。 问题: 这是否会导

  • 我有一个角度7前端和Spring后端。 我的目标是使用JSON表单进行自定义登录。计划是:以json格式将用户名/密码从前端发送到后端。在后端进行身份验证,并将结果发送回前端。我的问题:从前端发送数据后,我在后端看不到数据(用户名和密码为空)(在我的CustomAuthenticationProvider.java中) 我的登录页面功能: 当我在用户名和密码中添加值后打印出时,我得到这个(主体和凭