![](/img/trans.png)
[英]Angular-Keycloak is not adding the bearer token by default to my http requests
[英]How to get keycloak token in angular-keycloak
我正在构建一个聊天应用程序,我使用 sse 实现了实时聊天功能,我使用 keycloak 作为 idap,以允许身份验证我必须使用一个名为 EventSourcePolyFill 的自定义 EventSource 实现,我的前端是用 angular 构建的,我正在尝试做这样的事情,但我是 js 的新手,
private getEventSource(url: string): EventSourcePolyfill {
return new EventSourcePolyfill(url, {
headers: {
Authorization: 'Bearer ' + this.kcService.getToken,
},
});
}
当我在开发工具中看到承载时发现它是:承载 [object Promise]
看到[object Promise]
意味着正在异步返回令牌。 在这种情况下,您需要await this.kcService.getToken
。
允许的最简单方法是让getEventSource()
成为异步的。 这意味着您需要等待对 function 的调用。依此类推,调用堆栈。
另一种方法是确保您已提前获取 keycloak 令牌,并将其作为 arg 传递:
private getEventSource(url: string, token: string): EventSourcePolyfill {
return new EventSourcePolyfill(url, {
headers: {
Authorization: 'Bearer ' + token,
},
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.