首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密钥披风重定向到上一页

密钥披风重定向到上一页
EN

Stack Overflow用户
提问于 2019-12-18 12:58:34
回答 1查看 2.6K关注 0票数 0

我有一个登录页面,用户可以点击按钮登录或按钮注册的材料对话框。此页面是公开的,如果用户单击登录按钮,我将他重定向到路由home

代码语言:javascript
复制
this.router.navigate(["/home"]);

在那里,在home上有钥匙斗篷的认证。

但问题是,成功登录后,用户仍然在上一页(在那里,他点击按钮登录)。

有办法解决这个问题吗?

代码语言:javascript
复制
import { KeycloakService } from "keycloak-angular";
import { AppConfigService } from "app-config/app-config.service";

export function initializer(
  keycloak: KeycloakService,
  appConfigService: AppConfigService
): () => Promise<any> {
  return (): Promise<any> => {
    return new Promise(async (resolve, reject) => {
      await appConfigService.loadAppConfig();
      try {
        await keycloak.init({
          config: appConfigService.getConfig("keycloak"),
          initOptions: {
            onLoad: "check-sso",
            checkLoginIframe: false
          },
          enableBearerInterceptor: false,
          bearerExcludedUrls: ["registration$", ]
        });
        resolve();
      } catch (error) {
        reject(error);
      }
    });
  };
}

丁烯

EN

回答 1

Stack Overflow用户

发布于 2020-07-27 19:25:18

现在已经很晚了,但是因为没有人回答这个问题,所以我想解释一下该怎么做。我不熟悉棱角,但我是用反应来做的。重要的是我们关注的是“keycloak”库,它将在任何一个框架中使用。它可能不接近你的预期,但你也可以这样做。

  • 步骤1:当用户单击专用路由时,使用登录按钮将他重定向到页面。在URL中,您需要添加一个param,指定登录成功后重定向的位置: Ex:http://localhost:3000/login?redirectUrl={encodedSecuredPath}
  • Step 2:在登录页面中,您有一个登录按钮,并且在该按钮的"onClick“事件上使用keycloak.login()。此时,用户登录成功后,页面将被重定向到:http://localhost:3000/
  • Step 3:传递对象{redirectUri:{http://localhost:3000/+{decodedSecuredPath}}}到keycloak.login( object )。那么键盘斗篷就可以完成剩下的工作了。

您可以在以下链接中了解有关keycloak.login()的param的更多信息:https://www.keycloak.org/docs/latest/securing_apps/index.html#login-options

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59392625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档