I have passport local guard:
export class LocalGuard extends AuthGuard('local') {
async canActivate(context: ExecutionContext): Promise<boolean> {
const result = (await super.canActivate(context)) as boolean;
await super.logIn(context.switchToHttp().getRequest());
return result;
}
}
And I implemented guard for google auth like:
export class GoogleAuthGuard implements CanActivate {
canActivate(
context: ExecutionContext,
){
const req = context.switchToHttp().getRequest();
// get access token from request...
const user = // validate against google api
request.login(user, (err) => {});
return true;
}
}
I implemented guard with direct calls to google api to validate access token as I see that passport doesn't have something similar to just authenticate access token.
With request.login() express-session is created and stored in redis it's all fine.
I just don't understand from where this request.login() is coming?
What adds it, passport (I don't use it in this guard), nestjs or session-express.