問題タブ [nestjs-passport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jwt - NestJS & Passport: ユーザーのパスワード変更時に JWT トークンを変更しますか?
PassportJS を使用して NestJS API でパスワードを変更したユーザーのトークン (JWT) をリセット/変更しようとしています。この承認がどのように機能するかのわかりやすい例を次に示します: https://docs.nestjs.com/security/authentication。
パスワードの変更時に新しいトークンを生成して、ユーザーがログインしていたすべてのデバイスで、パスワードの変更後にユーザーが無許可になり、ログアウトされることを確認したいと考えています。
これは、ユーザー サービスでパスワードの変更を処理する方法です。
これを行うためのビルド前の方法はないと思います。JwtService はdecode
、 、sign
(これはトークンの生成に使用されます)、signAsync
、verify
およびの 5 つのメソッドのみを取得しましたverifyAsync
。
では、どうすればこれを適切に行うことができますか?
jwt - ユーザー JWT トークンが有効かどうかを判断します。検証が成功すると、jwt ペイロードを返します
トークンが有効かどうか、jwt.strategy.ts の検証関数で検証しようとしています。JWT ベアラー ヘッダーの認証トークンが有効でない場合、例外がスローされます。それ以外の場合は、JWT ペイロードが返されます。より具体的には、Passport は " user" プロパティを Express HTTP Request オブジェクトに設定し、ここで返されたものを req.user に割り当てます。
jwt.strategy.ts
auth.controller.ts
auth.module.ts
auth.service.ts
nestjs - 別のモジュールからエクスポートされても、ネストは JwtService の依存関係を解決できません
@nestjs/jwt
NestJS プロジェクトで使用しています。
私は2つのモジュールを持っていAuthModule
ますAppModule
.
- は
AuthModule
、@nestjs/jwt
- からの
AppModule
呼び出し認証サービスAuthModule
。
AuthService
:
認証モジュール:
アプリモジュール:
(トークンを検証するためにインスタンスをAppController
呼び出します。)AuthService
私は常にエラーが発生します:
何故ですか?どこが恋しいですか?
typescript - Nestjs に request.login を追加するもの
私はパスポートローカルガードを持っています:
そして、次のようなGoogle認証のガードを実装しました:
パスポートにはアクセストークンを認証するだけのようなものがないことがわかったので、アクセストークンを検証するためにGoogle APIへの直接呼び出しでガードを実装しました。
でrequest.login()
express-session
作成され、redisに保存されますが、すべて問題ありません。
この request.login() がどこから来ているのかわかりませんか?
それを追加するもの、パスポート(このガードでは使用しません)、nestjsまたはsession-express。