使用 Angular6 进行 Auth0 身份验证

Auth0 authentication with Angular6

我有一个 Angular 前端和一个 restful 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 库。但这似乎不起作用,因为我从后端服务器收到 401...

...
import { JwtModule } from '@auth0/angular-jwt';
...

@NgModule({
  ...
  imports: [
    ...,
    JwtModule.forRoot({
      config: {
        tokenGetter: () => {
          return window['_keycloak'].token;
        },
        whitelistedDomains: ['localhost:8080', 'localhost:8085']
      }
    })
  ],
  providers: [
   ...
  ],
  ...
})
...

我的问题已经无关紧要了。该代码实际上按照我发布的方式工作得很好。 我的问题出在后端。后端没有正确解析和验证 JWT,导致 401 错误...