spring 使用Flutter和React前端在Keycloak中实现用户注册

vfhzx4xs  于 5个月前  发布在  Spring
关注(0)|答案(1)|浏览(47)

我正在做一个项目,涉及Flutter前端,React前端和Sping Boot 后端。我的目标是使用Keycloak处理身份验证。然而,我遇到了一个问题:我似乎找不到一个REST端点用于Keycloak中的用户注册。
我需要的是一个端点,我可以直接从前端发送用户数据(如用户名,密码等)到Keycloak进行注册。目前,我已经找到了用于登录和管理员级别用户创建的端点,但这些都不符合我的要求,用户应该能够自己注册。
目前,用户注册是通过将用户数据(用户名,密码,电子邮件等)从前端发送到我们的Sping Boot 后端来处理的,在那里用户注册。这里是我们在Flutter中当前注册功能的片段:

Future<UserLogin?> register(String username, String password, String email,
      String firstName, String lastName, String gender) async {
    final signUpDto = (UserRequestTOBuilder()
          ..username = username
          ..password = password
          ..email = email
          ..firstName = firstName
          ..lastName = lastName
          ..gender = gender)
        .build();

    final responses =
        await Future.wait([_authApi.registerUser(userRequestTO: signUpDto)]);
}

字符串
我想改变这个过程,让用户注册直接由Keycloak处理,而不需要通过我们的Sping Boot 后端。
有没有人可以提供指导或解决方案?有没有一种方法可以在Keycloak中实现用户自助注册,或者我需要以不同的方式来实现这一点?我对Keycloak相对较新,希望得到任何帮助或见解。
先谢谢你了!

o8x7eapl

o8x7eapl1#

在OAuth2中,您不会从OAuth2客户端或前端(单页或移动的应用程序)创建或登录用户。这是授权服务器业务(在您的情况下是Keycloak)。

Keycloak已经提供了登录屏幕(包括多因素身份验证和社交登录,如“使用Google登录”),用户注册,帐户管理(允许用户在他们的帐户上编辑您允许他们编辑的内容)和帐户删除。它还为您提供了使用自己的风格来保持您的前端外观的能力。使用它。

附注

这不是你的问题的主题,但是SPA和移动的应用程序不应该是OAuth2客户端(获取和存储令牌)。你应该使用BFF模式(请参阅我刚刚链接的线程中Spring Security团队的结论)。我写了一个tutorial for that

相关问题