我是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
};
答案 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");
}