fix(backend): use atomic command to improve security
Co-Authored-By: Acid Chicken <root@acid-chicken.com>
This commit is contained in:
		| @@ -246,14 +246,12 @@ export class WebAuthnService { | ||||
|  | ||||
| 	@bindThis | ||||
| 	public async verifyAuthentication(userId: MiUser['id'], response: AuthenticationResponseJSON): Promise<boolean> { | ||||
| 		const challenge = await this.redisClient.get(`webauthn:challenge:${userId}`); | ||||
| 		const challenge = await this.redisClient.getdel(`webauthn:challenge:${userId}`); | ||||
|  | ||||
| 		if (!challenge) { | ||||
| 			throw new IdentifiableError('2d16e51c-007b-4edd-afd2-f7dd02c947f6', 'challenge not found'); | ||||
| 		} | ||||
|  | ||||
| 		await this.redisClient.del(`webauthn:challenge:${userId}`); | ||||
|  | ||||
| 		const key = await this.userSecurityKeysRepository.findOneBy({ | ||||
| 			id: response.id, | ||||
| 			userId: userId, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo