我有护照当地警卫:
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;
}
}
我为谷歌身份验证实现了保护,例如:
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;
}
}
我通过直接调用 google api 来验证访问令牌来实现保护,因为我看到护照没有类似于仅验证访问令牌的东西。
Withrequest.login()
express-session
被创建并存储在redis中,一切都很好。
我只是不明白这个 request.login() 来自哪里?
什么增加了它,护照(我不在这个警卫中使用它),nestjs 或 session-express。