angular - 从 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
};
解决方案
我自己想出了解决方案。我必须使用如下的事件监听器。
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");
}
推荐阅读
- python - 面临使用 django post_save 信号重定向用户的问题
- python - 在自由文本字符串中搜索整数并返回元组列表
- ruby-on-rails - 如何使用洗劫中的多角宝石
- angular - 如何避免子组件滚动事件触发父组件中的更改检测
- reactjs - 如何在 React 的组件调用中使用变量作为道具的值?
- python - 尝试在端口 80 上侦听 GET
- python - 如何将特定文件从一个子目录移动到另一个子目录
- android - 仅在实体右侧使用 Stroke 可绘制
- machine-learning - 通过创建自己的标签进行监督学习
- knex.js - 有没有办法在 Knex.js 中将行转换为列?