メインコンテンツへスキップ
発行するトークンの有効期間が短くなるようにアプリケーション・グラントを構成しておけば、保護されたリソースへのアクセスを取り消したいときは、単にグラントを削除するだけで済みます。この時点で、 を持っている側が追加の API リクエストを行えるのは、あなたがグラントを削除してからそのトークンの有効期限までの限られた期間だけです。これは実装が容易で安全な方法であるため、アプリケーション・グラントを取り消すことで API やその他の保護されたリソースへのアクセスを拒否することを推奨します。 たとえば、Machine-to-Machine application を使用して API にアクセスしており、パートナーがあなたの API を呼び出しているとします。既存契約の終了時点で、あなたとパートナーがパートナーシップを更新しないことに合意しました。この場合、あなたはパートナーの API へのアクセス権を削除したいと考えます。しかし問題は、あなたがパートナーに 1 か月間有効な access token を発行していることです。
  • このような状況で、何ができるでしょうか。
  • 将来このような状況をより扱いやすくするために、Auth0 環境をどのように構成すればよいでしょうか。

アプリケーションのグラント

このシナリオにおける主な問題は、API アクセストークンの有効期間が 1 か月と長いことです。 デフォルトでは、Auth0 は 24 時間有効なアクセストークンを発行します。トークンの有効期間を 24 時間に設定すると、パートナーは 24 時間ごとに新しいアクセストークンを取得するために、クライアント クレデンシャルの交換(または実装している任意のグラント)を繰り返す必要があります。契約満了に伴いパートナーのアクセスを拒否したい場合は、アプリケーションのグラントを削除するだけで、既存のトークンが失効した時点で新しいトークンを要求できなくなります。 token_lifetime オプションを設定することで、トークンの有効期間を変更できます。適切な有効期間はユースケースによって異なりますが、この値は可能な限り短く設定することを推奨します。この値を決定する際の良い目安は、グラントを削除してから API が最後に使用されるまでの遅延をどの程度まで許容できるかという時間枠です。

アプリケーション グラントを削除する

アプリケーション グラントを削除するには、該当する DELETE リクエストを Delete an Application Grant エンドポイント に送信します。リクエストでは、削除したいアプリケーション グラントの ID を指定する必要があります。この ID は、Management API の Get all Application Grants エンドポイント から取得できます。 また、 を使用して、アプリケーションのグラントタイプを更新することもできます。

さらに詳しく