我有一个Angular前端和一个安静的Vertx后端,我试图让仅通过身份验证的用户将请求发送到后端。
为此,我遵循了example by Paul Bakker
不幸的是,他依赖于angular2-jwt库,该库似乎与Angular6不兼容...
如何重新编码以下代码以在Angular6中工作:
...
import { provideAuth } from 'angular2-jwt';
...
@NgModule({
...
imports: [
...
],
providers: [
...,
provideAuth({
globalHeaders: [{'Content-Type': 'application/json'}],
noJwtError: true,
tokenGetter: () => {
return window['_keycloak'].token;
}
})],
...
})
...
我尝试使用@ auth0 / angular-jwt库。但这似乎不起作用,因为我从后端服务器获取了401s ...
...
import { JwtModule } from '@auth0/angular-jwt';
...
@NgModule({
...
imports: [
...,
JwtModule.forRoot({
config: {
tokenGetter: () => {
return window['_keycloak'].token;
},
whitelistedDomains: ['localhost:8080', 'localhost:8085']
}
})
],
providers: [
...
],
...
})
...
答案 0 :(得分:0)
我的问题已变得无关紧要。该代码实际上以我发布它的方式正常工作。 我的问题是在后端。后端没有正确解析和验证JWT,这导致401错误...