【发布时间】:2019-01-10 06:48:08
【问题描述】:
我想在我当前连接到 Spring Boot 后端的 Angular 应用程序中集成 JWT 身份验证。
我浏览了很多教程,但大多数都不适合,因为它们连接到 Auth0。我想自己处理用户管理。
我找到了这个例子:
角度:https://medium.com/@juliapassynkova/angular-springboot-jwt-integration-p-1-800a337a4e0
不幸的是,这个 Angular 前端是 Angular 4,而我已经在使用 Angular 6。他们使用与 Angular 6 不兼容的“angular2-jwt”。我必须使用“auth0/angular-jwt”。
我的问题是,在我使用登录表单后,浏览器会再次打开一个登录弹出窗口以登录后端。但即使有正确的凭据,它也不起作用。我猜,请求中缺少一些凭据。在 app.module.ts 中有 2 个旧的 angular2-jwt 代码,我不知道如何将其升级到 auth0/angular-jwt
export function authHttpServiceFactory(http: Http) {
return new AuthHttp(new AuthConfig({
headerPrefix: 'Bearer',
tokenName: TOKEN_NAME,
globalHeaders: [{'Content-Type': 'application/json'}],
noJwtError: false,
noTokenScheme: true,
tokenGetter: (() => localStorage.getItem(TOKEN_NAME))
}), http);
}
和
providers: [
{provide: AuthHttp, useFactory: authHttpServiceFactory, deps: [Http]},
]
谁能帮我解决这个问题。可能是我的猜测有误,可能是别的原因?
附注;我刚刚更改了前端,但尝试从示例连接到后端。如果我同时使用示例中的前端和后端,它的工作正常。
【问题讨论】:
-
jhipster 是一个很好的例子,展示了如何使用 Spring Boot 进行 JWT。
-
@Peter - 如果您解决了问题,是否可以发布您的代码。我现在正在迁移到 auth0/angular-jwt 并且遇到了很多问题。如果你愿意,我可以在 github 上分享我的代码
标签: spring angular spring-boot jwt