メインコンテンツへスキップ
Auth0 は、認証リクエストに応じて または を発行します。アクセストークンは保護された API に対する認証済みの呼び出しに使用でき、IDトークンにはクレームとして表現されたユーザープロフィールの属性が含まれます。どちらも (JWT) であるため、exp claim で示される有効期限があり、署名などのセキュリティ対策も施されています。通常、ユーザーが初めてリソースにアクセスするとき、または以前に付与されたアクセストークンの有効期限が切れたあとに、新しいアクセストークンが必要になります。 は、ユーザーの操作なしで新しいアクセストークンを取得するために OAuth が使用できる認証情報です。これにより、 は、アクセストークンの有効期限が切れたときにユーザーを介さずに、セキュリティ上の理由からアクセストークンの lifetime を短くできます。リフレッシュトークンが DenyList に追加されるまで、新しいアクセストークンをリクエストできます。 これらの認証情報を安全かつ確実に管理しやすくするため、リフレッシュトークンの数は管理可能な妥当な範囲に保つことが重要です。リフレッシュトークンは実質的にユーザーが半永久的に認証された状態を維持できるようにするため、アプリケーションでは安全に保存する必要があります。

オフラインアクセス

ユーザーがオフライン時にもリフレッシュトークンを取得できるようにするには、API SettingsAllow Offline Access スイッチを選択します。
新しいアクセストークンを取得するために Auth0 にリクエストするたびに、新しいリフレッシュトークンを発行し、直前のトークンを無効化する リフレッシュトークンローテーション を使用すると、セキュリティを強化できます。リフレッシュトークンをローテーションすることで、侵害されたリフレッシュトークンによるリスクを軽減できます。

制限事項

  • Auth0 では、アプリケーションごとに、ユーザー 1 人あたり最大 200 個の有効なリフレッシュトークンに制限されています。この制限は有効なトークンにのみ適用されます。上限に達した状態で新しいリフレッシュトークンが作成されると、システムはそのユーザーおよびアプリケーションに対する最も古いトークンを失効させ、削除します。失効したトークンと期限切れのトークンは、この上限にはカウントされません。過剰なトークンを避けるための推奨事項とベストプラクティスについては、トークンのベストプラクティス を参照してください。
  • リフレッシュトークン交換の後、Auth0 は有効期限のないトークンについて event.refresh_token.device.last* プロパティを更新しません。有効期限付きリフレッシュトークンを有効にする方法については、リフレッシュトークンの有効期限を設定する を参照してください。

OIDC フラグを有効にする

リフレッシュトークンの動作は、OIDC 準拠アプリケーションに適用されます。アプリケーションを OIDC 準拠として設定するには、次のいずれかの方法を使用します。
  1. アプリで OIDC 準拠 フラグを有効にします。
  2. Authentication API の /authorize エンドポイントに audience クレームを渡します。

SDK のサポート

Web アプリ向け

リフレッシュトークンをサポートする Auth0 SDK には、次のものがあります。
  • Node.js
  • ASP.NET Core
  • PHP
  • Java
完全な一覧については、クイックスタートを参照してください。

シングルページアプリ向け

SPA で安全な認証を実現するには、アプリケーションのユースケースに応じたさまざまな課題があります。Intelligent Tracking Prevention (ITP) などの新しいブラウザーのプライバシー制御により、サードパーティ cookie へのアクセスが妨げられ、SPA のユーザー体験に悪影響が及びます。 Auth0 では、 の使用を推奨しています。これにより、ITP のようなブラウザーのプライバシー技術によって生じる UX の中断を避けながら、SPA でリフレッシュトークンを安全に使用し、エンドユーザーにリソースへのシームレスなアクセスを提供できます。

ネイティブ/モバイルアプリ向け

ネイティブアプリケーションでは、リフレッシュトークンによって認証エクスペリエンスが大幅に向上します。ユーザーは Web認証プロセスを通じて一度だけ認証すればよく、その後の再認証はリフレッシュトークンを使用して、ユーザーの操作なしで実行できます。 モバイル SDK でリフレッシュトークンを使用する方法については、次を参照してください。

さらに詳しく