Javascript 如何使用外部身份验证服务对用户进行身份验证?
我有一个用于登录和用户注册的微服务。在Javascript 如何使用外部身份验证服务对用户进行身份验证?,javascript,typescript,nestjs,Javascript,Typescript,Nestjs,我有一个用于登录和用户注册的微服务。在localhost:8080上启动请求并带有主体{“username”:“test”,“password”:“test”}之后,我得到一个身份验证令牌,如:{“token”:“asdfsadfasdf…” 在我的端点上启动请求之前,我必须在另一个微服务中使用此令牌对用户进行身份验证,我的代码如下: import { Injectable } from "@nestjs/common"; import { AuthGuard } from
localhost:8080
上启动请求并带有主体{“username”:“test”,“password”:“test”}
之后,我得到一个身份验证令牌,如:{“token”:“asdfsadfasdf…”
在我的端点上启动请求之前,我必须在另一个微服务中使用此令牌对用户进行身份验证,我的代码如下:
import { Injectable } from "@nestjs/common";
import { AuthGuard } from "@nestjs/passport";
@Injectable()
export class JwtAuthGuard extends AuthGuard('jwt') {}
启动我的Get
请求后,我收到一个错误:
[Nest] 10472 - 04.05.2021, 17:14:00 [ExceptionsHandler] Unknown authentication strategy "jwt" +3677ms
Error: Unknown authentication strategy "jwt"
策略
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
constructor() {
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: 'secret',
});
}
}
有人能告诉我我做错了什么,为什么我的auth策略不好吗
谢谢你的帮助 将您的
JwtStrategy
从imports
移动到providers
数组中。提供者从不进入导入
数组。只有模块属于那里。您必须展示您的策略,以便我们能够提供帮助。如果让我猜的话,这个策略是请求范围内的。@JayMcDoniel,我在底部添加了策略,你能看一下吗?我需要使用外部服务的令牌,我知道如何使用“一个应用程序中的所有应用程序”来实现这一点,但在这里,我遇到了一个问题
[Nest] 10472 - 04.05.2021, 17:14:00 [ExceptionsHandler] Unknown authentication strategy "jwt" +3677ms
Error: Unknown authentication strategy "jwt"
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
constructor() {
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: 'secret',
});
}
}