PassportJS を使用して NestJS API でパスワードを変更したユーザーのトークン (JWT) をリセット/変更しようとしています。この承認がどのように機能するかのわかりやすい例を次に示します: https://docs.nestjs.com/security/authentication。
パスワードの変更時に新しいトークンを生成して、ユーザーがログインしていたすべてのデバイスで、パスワードの変更後にユーザーが無許可になり、ログアウトされることを確認したいと考えています。
これは、ユーザー サービスでパスワードの変更を処理する方法です。
async changePassword(uId: string, password: any) {
return await this.userRepository.createQueryBuilder()
.update(User)
.set({ password: await bcrypt.hash(password.value, 10) })
.where("userId = :userId", { userId: uId })
.execute();
}
これを行うためのビルド前の方法はないと思います。JwtService はdecode
、 、sign
(これはトークンの生成に使用されます)、signAsync
、verify
およびの 5 つのメソッドのみを取得しましたverifyAsync
。
では、どうすればこれを適切に行うことができますか?