Keycloak重定向到页面刷新时登录

时间:2018-05-29 09:02:11

标签: angular5 keycloak

我在我的Angular 5应用程序中使用keycloak JavaScript适配器,虽然我的登录和重定向工作,但问题是每当我刷新我的应用程序时它将再次请求keycloak登录,尽管我看到我的会话仍处于活动状态/ auth / realms / {image a realm name} / account。

正如我从keycloak JS Adapter文档https://www.keycloak.org/docs/3.0/securing_apps/topics/oidc/javascript-adapter.html中所理解的那样,当onLoad设置为init-options for login选项时,如果用户登录到Keycloak或者显示登录页面,则会对客户端进行身份验证不。但在我的情况下,似乎需要一秒钟才能让我退出,因为它总是将我重定向到keycloak的登录页面。

1 个答案:

答案 0 :(得分:0)

您需要将先前登录时保存的令牌传递给keycloak init构造函数。如果您使用的是授权流程(标准),则也要刷新令牌。这样。

// load previous tokens, saved after successful login of keycloak success callback
const token = localStorage.getItem('kc_token');
const refreshToken = localStorage.getItem('kc_refreshToken');
// pass to keycloak init
keycloak.init({ onLoad: 'login-required', token, refreshToken }).then(
success=>{
  localStorage.setItem('kc_token', keycloak.token);
  localStorage.setItem('kc_refreshToken', keycloak.refreshToken);
  //load your app from here
})