introduce the RADAR scope token

This commit is contained in:
Sven Czarnian
2022-11-04 21:33:24 +01:00
parent 17f521008c
commit 912a8e7509
4 changed files with 34 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import { ConfigService } from '@nestjs/config';
import { JwtService } from '@nestjs/jwt';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { v4 as uuid } from 'uuid';
import { catchError, lastValueFrom, map } from 'rxjs';
import { User, UserDocument } from './models/user.model';
@@ -76,6 +77,7 @@ export class AuthService {
this.userModel.create({
vatsimId: userdata.cid,
fullName,
radarScopeKey: uuid(),
vatsimToken: token,
vatsimRefreshToken: refreshToken,
});
@@ -110,4 +112,15 @@ export class AuthService {
return user;
});
}
async resetRadarScopeKey(token: string): Promise<void> {
const payload = this.jwtService.verify(token, {
secret: this.config.get<string>('server.jwt-secret'),
});
await this.userModel.findOneAndUpdate(
{ vatsimId: payload.vatsimId },
{ radarScopeKey: uuid() },
);
}
}