1

アプリケーションでユーザーを認証するために JWT トークンを使用しています。req.headers.access_tokenデータベースで現在のトークンが見つかったかどうかを確認して、トークンをバックエンドに送信し、それがまだ有効である場合は、トークンを更新し ( update expires)、現在のルートに移動します。この部分は想定どおりに機能します。

私の問題は、クライアントが更新されたトークンで次のリクエストを送信できるようにトークンをフロントエンドに送り返すことですが、これまでに試したことはすべてヘッダーを正しく更新しませんでした:

res.header.access_token = token;
res.setHeader('access_token', token);

うまくいきませんでした。

どこかで私も追加する必要があるAccess-Control-Expose-Headersので、エクスプレスセットアップに次を追加しました。

app.use(function (req, res, next) {
        res.setHeader('Access-Control-Allow-Origin', '*');
        res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
        res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization, access_token');
        res.setHeader('Access-Control-Expose-Headers', 'X-Requested-With,content-type, Authorization, access_token');
        next();
    });

しかし、同じ問題が存在します。

質問:

  • 応答のヘッダーのトークンを更新するにはどうすればよいですか?
  • 人々は通常、複数のリクエストを一度にどのように処理しますか (問題は、古いトークンを更新したばかりなので、2 番目のリクエストに無効なトークンが含まれることです)。

jwt-simplejwtにlibを使用しています

4

1 に答える 1