我遇到的问题似乎并不罕见,但我找到的解决方案在我的项目中不起作用。
我想做的是使用护照进行简单的身份验证,如本教程所示: https: //docs.nestjs.com/techniques/authentication
我一直遵循这个教程,一开始它很有效。后来我决定使用用户的电子邮件和密码而不是用户名作为身份验证。因此,我将身份验证过程中的变量名称和参数更改为电子邮件,这就是一切崩溃的点。我在这里错过了什么吗?
auth.module.ts
import {Module} from '@nestjs/common';
import {UsersModule} from "../users/users.module";
import {AuthService} from "./services/auth.service";
import {PassportModule} from "@nestjs/passport";
import {LocalStrategy} from "./strategies/local.strategy";
import {AuthController} from "./controllers/auth.controller";
import {JwtModule} from "@nestjs/jwt";
import {jwtConstants} from "./constants";
import {JwtStrategy} from "./strategies/jwt.strategy";
import {EncryptionModule} from "../encryption/encryption.module";
@Module({
imports: [
UsersModule,
EncryptionModule,
PassportModule.register({defaultStrategy: 'jwt'}),
JwtModule.register({
secret: jwtConstants.secret,
signOptions: {
expiresIn: '30s'
}
})
],
providers: [
AuthService,
LocalStrategy,
JwtStrategy
],
controllers: [
AuthController
]
})
export class AuthModule {
}
Run Code Online (Sandbox Code Playgroud)
控制器/auth.controller.ts …