从密钥斗篷获取访问令牌

时间:2019-12-03 06:09:44

标签: angular access-token keycloak

我是keycloak和Angular的新手。在我的angular 7应用程序中,我使用angular-oauth2-oidc连接到keycloak。一切正常。

但是我想获取访问令牌并将其存储在本地存储中。有人可以帮我得到它吗?

登录功能

login() {
    this.oauthService.initLoginFlow();
  }

authConfig: AuthConfig = {
    issuer: "http://localhost:8080/auth/realms/rpa",               
    redirectUri: window.location.origin + "/dashboard/process",    
    clientId: "spa-rpa",
    scope: "openid profile email offline_access rpa",
    responseType: "code",
    disableAtHashCheck: true,
    showDebugInformation: true
  };

enter image description here

1 个答案:

答案 0 :(得分:0)

我自己想出了解决方案。我必须使用如下的事件监听器。

this.oauthService.events
      .pipe(filter((e: any) => e.type === 'token_received'))

      .subscribe(() => {
        this.handleNewToken()
      },
      error => {
        console.log("Error : "+error);
      },
      () => {
        console.log('HTTP request completed.')
      }); 

private handleNewToken() {
    localStorage.setItem('Access_key', this.oauthService.getAccessToken());
    this.router.navigate(['/dashboard/process']);
    localStorage.removeItem("spinner_loading");
  }