小编Max*_*Max的帖子

使用电子邮件进行身份验证时,NestJS 护照身份验证返回 401

我遇到的问题似乎并不罕见,但我找到的解决方案在我的项目中不起作用。

我想做的是使用护照进行简单的身份验证,如本教程所示: 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 …

authentication passport-local passport.js nestjs

7
推荐指数
2
解决办法
6255
查看次数