私はトークンベースの認証を構築しています(Angularクライアントでパスポート/JWTを使用するNode.js)。
ユーザーが資格情報を入力すると、アクセス トークンが取得され、ヘッダー内のすべての要求で送信されます (header: bearer TOKEN)。
彼のアクセストークンの有効期限が切れるたびに(ほぼ毎日だと思いますが)ログインリクエストを要求したくありません。 Refresh Tokensについて聞いたことがあります。更新トークンは期限切れになることはなく (またはめったに期限切れにならない)、無期限にトークンを更新できます。アクセス トークンの期限が切れそうになると、クライアントは更新要求を送信して、更新トークンを送信することで新しいアクセス トークンを取得できます。
私はいくつかのことを理解していません。何かが欠けている可能性があります:
有効期間が長い/無期限のリフレッシュ トークンが、有効期間が短いアクセス トークンのセキュリティを損なわない方法。
Cookie は盗まれ、有効期限が切れるまで使用される可能性があります。トークンは存続期間が短いため、より安全ですが、存続期間が長い更新トークンを提供すると、トークンを使用する利点が失われます。
注: リフレッシュ トークンは最初のログイン時に送信されるため、すべてのリクエストでスプーフィングできないことは認識していますが、最初のリクエストでスプーフィングされている場合は脆弱です。