問題タブ [express-jwt]
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 - express-jwt: JWT の欠落している重要なプロパティをすばやく拒否します
Express-jwt を使用してミドルウェアを作成していますjwtCheckMiddleware
。
開発のある時点で、発行された JWT に JTI プロパティがありませんでした。新しく発行されたトークンは、JTI プロパティを保持します。
JWT のないリクエストはすぐに拒否されます。getTokenFromRequest
エラーをスローします。これはうまくいきます。
古い JWT (JTI がない) を使用したリクエストは、タイムアウトになります。
isNotRevokedCallback
JTI の内部には null チェックがあります。JTI が未定義の場合、エラーをスローします。expressJwt
ミドルウェア コンストラクターがこのエラーを適切にキャッチしておらず、タイムアウトが発生している可能性がありますか?
isNotRevokedCallback
大まかにhttps://github.com/auth0/express-jwt#revoked-tokensに基づいています
node.js - NodeJS JWT Verify Fail でもサイントークンと同じならトークン
NodeJS で API を開発しようとすると、署名トークンを取得して安全な API ルートで送り返しますが、生成したトークンと同じものであっても、jwt は決して有効ではありません! 私のコードで何が間違っていますか?
私はそのようにサインをしました
検証は次のとおりです。
ここに、API からデータを要求する Angular2 サービスがあります
署名によって生成されたトークン:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoidHQiLCJwZXJtaXNzaW9ucyI6W10sImlhdCI6MTQ4MzExNTAzNCwiZXhwIjoxNDgzNzE5ODM0fQ.bJbH4619JAU8pf_6qPBcYl0V1V5XWbes6
http サービスが受け取ったトークン:
ベアラー
node.js - Auth0 - ルール & グループ && ユーザー管理
Auth0 でアカウントを作成し、バックエンド API への Angular 2 の簡単なログインを取得しようとしています。
1. 私がやろうとしているのは、API のロールにアクセスして、ユーザーが正しい権限を持っているかどうかを確認できるようにすることです。
入った Auth0 Authorization 拡張機能を有効にして、1 つのグループと 1 つのロールを作成しました。作成したテスト ユーザーにこれらを割り当てました。次に、構成に移動し、トークンの内容と永続化のルールを公開しました。
nodejsアプリでJWTからアクセス許可/グループを表示するにはどうすればよいですか? 私はexpress-jwt
これを使用しています:
iss、sub、audなどの詳細が表示されます。しかし、ユーザー メタデータに関する詳細はありません。どうすればこれを取得できますか? また、以前にAuth0を使用したことがないことは明らかであるため、ユーザーの詳細を独自のデータベースに保存して、独自のIDを使用してユーザーアクションに対して保存できるようにすることをお勧めしますか、またはAuth0がIDを提供する場合はIDを使用できますか?データベースにユーザーのアクションを保存します。
編集1
スコープを渡すことができる Lock のオプション パラメータがあることがわかりました。ログイン時にこれらを要求するのは悪い習慣ですか? 今のところ、ほんの一握りのグループ/ロールしかありません。または、提供されたトークンを使用して API がユーザーをルックアップし、app_metadata を取得してパーミッションなどを表示できるようにした方がよい場合は、どうすればこれをルックアップできますか?
2. ユーザーを管理して表示し、自分の管理パネルに表示して権限を管理するにはどうすればよいですか。
node.js - JWT を使用した Facebook パスポート
サーバーでユーザー認証にPassportを使用しています。ユーザーが (ユーザー名とパスワードを使用して) ローカルでサインインしている場合、サーバーは localstorage に格納されているJWTをユーザーに送信し、ユーザー認証を必要とする API 呼び出しごとにサーバーに送り返します。
Facebook と Google のログインもサポートしたいと考えています。私は Passport から始めたので、 passport-facebookとPassport -google-oauthを使用して、Passport 戦略を継続するのが最善であると考えました。
Facebook について言及しますが、どちらの戦略も同じように動作します。どちらもサーバー ルートへのリダイレクトが必要です ( 「/auth/facebook」と「/auth/facebook/callback」 )。このプロセスは、facebook\google ID とトークンを含むユーザーを DB に保存するところまで成功しています。
サーバー上でユーザーが作成されると、JWT が作成されます (facebook\google から受信したトークンに依存する必要はありません)。
問題は、作成後、JWT を client に送信する適切な方法が見つからないことです。アプリにもリダイレクトする必要があるためです。
上記のコードはアプリのメイン ページにリダイレクトしますが、 token を取得できません。successRedirect を削除すると、トークンは取得されますが、アプリにリダイレクトされません。
そのための解決策はありますか?私のアプローチは間違っていますか?どんな提案もします。