メインコンテンツへスキップ
アプリケーショングラントを設定して、発行するトークンの有効期間を短くしておけば、保護されたリソースへのアクセスを失効させる必要が生じた際に、グラントを削除するだけで済みます。この時点で、 を持つ相手が追加で API リクエストを実行できるのは、グラントを削除してからトークンの有効期限が切れるまでの限られた期間だけです。これは実装が容易で (かつ安全な) 方法であるため、アプリケーショングラントを失効することで、API やその他の保護されたリソースへのアクセスを拒否することを推奨します。 たとえば、API にアクセスするためにマシン間 アプリケーション を使用していて、その API を呼び出すパートナーがいるとします。既存の契約期間の終了時に、あなたとそのパートナーが提携を更新しないことを決めたとします。このとき、そのパートナーの API へのアクセスを削除したいとします。しかし問題は、そのパートナーに 1 か月有効なアクセストークンをすでに渡していることです。
  • この状況では何ができるでしょうか。
  • 今後このような状況に対処しやすくするには、Auth0 環境をどのように設定すればよいでしょうか。

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

このシナリオでの主な問題は、APIのアクセストークンの有効期間が1か月であることです。 デフォルトでは、Auth0 は24時間有効なアクセストークンを発行します。トークンの有効期間を24時間に設定すると、パートナーは新しいアクセストークンを取得するために、24時間ごとにクライアントクレデンシャル交換 (または実装している別のグラント) を再実行する必要があります。契約の終了に伴ってパートナーのアクセスを停止するには、アプリケーショングラントを削除するだけで済みます。これにより、既存のトークンの有効期限が切れると、新しいトークンをリクエストできなくなります。 トークンの有効期間は、token_lifetime オプションを設定することで変更できます。適切な有効期間はユースケースによって異なりますが、この値はできるだけ短く設定することをお勧めします。この値を決める際のよい出発点は、グラントを削除してからAPIが最後に利用されるまでの遅延として、どれだけ許容できるかという時間枠です。

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

アプリケーションのグラントを削除するには、Delete an Application Grant endpoint に対して、適切な DELETE リクエストを実行します。このとき、削除するアプリケーショングラントの ID を指定する必要があります。ID は、Management API の Get all Application Grants endpoint で取得できます。 また、 から アプリケーションのグラントタイプを更新 することもできます。

詳しくはこちら