1

我正在使用 keycloak 的登录和注册页面。对于登录,我使用:

 keycloak.init({onLoad: 'login-required'}).then(function (authenticated) {
        if (!authenticated) {
           
        } else{

        }

这很好用,因为我可以使用上面的代码重定向到收到令牌的应用程序页面。但是,如果用户单击注册链接并注册为新用户,我会看到浏览器重定向到:

htttps://localhost/auth/realms/realm1/login-actions/registration?session_code=2TC4xBE5BoFy_Dt7nK8wNDzdLx-8rJmA7l0IjTY1Khk&execution=2e64e3ef-185a-4ca8-a6cc-51c40f9fb7fc&client_id=bizmapp&tab_id=EbayK64spNk

我想要注册后的 keycloak 回调,我可以在其中获取令牌并将用户重定向到应用程序的原始安全页面,用户在登录/注册之前想去该页面

4

1 回答 1

1

在 Keycloak 管理界面中,转到“身份验证”,然后转到“流”选项卡。在左上角的下拉菜单中选择“注册”以配置注册流程。然后,您可以在流程结束时添加“浏览器重定向/刷新”操作。

您可以在https://www.keycloak.org/docs/latest/server_admin/index.html#_authentication-flows找到更多信息

将令牌作为查询参数传递通常被认为是一个坏主意,因为它们保留在浏览器历史记录中,如果其他人访问该浏览器并且 2° 被泄露给第三方,例如当您使用 Google Analytics 之类的东西时,1° 可能会被盗。

您的应用程序应该能够检测到用户是否通过 Keycloak SSO cookie(或任何其他机制)进行了身份验证,我认为这将在注册后自动设置。您只需要依赖为您的应用程序配置的Keycloak 适配器

于 2020-09-09T08:40:18.800 回答