javascript - Fel mellan nginx och nestjs autentiseringsdel
Jag försöker använda en NestJS-backend med en Nginx-reverseproxy. Jag har kodad en autentiseringsdel i min NestJS-backend.
Mitt problem är att när jag använde min frontend/backend i lokal läge, är allting okej. När jag använder det genom Nginx får jag alltid ett 401-fel. Jag tror att det beror på LocalStrategy i NestJS
Här är delen i filen local.strategy.ts
import { Strategy } from 'passport-local';
import { PassportStrategy } from '@nestjs/passport';
import { Injectable, UnauthorizedException } from '@nestjs/common';
import { AuthService } from '../auth.service';
@Injectable()
export class LocalStrategy extends PassportStrategy(Strategy) {
constructor(private authService: AuthService) {
super({
usernameField: 'userLogin',
passwordField: 'userPassword',
});
}
async validate(userLogin: string, userPassword: string): Promise<any> {
const user = await this.authService.validateUser(userLogin, userPassword);
if (!user) {
throw new UnauthorizedException();
}
return user;
}
}
Här är delen i app.controller.ts-filen
@Public()
@UseGuards(LocalAuthGuard)
@Post('auth/login')
async login(@Request() req) {
return this.authService.login(req.user);
}
Men jag vet inte hur man ändrar det. Om någon har ett exempel skulle det vara bra. Tack på förhand.
Svar #1
Jag har testat med curl lokalt på servern (utan nginx). Jag såg mitt fel (mysql-åtkomst för att testa användaren), det berodde inte på nginx-konfigurationen.