アプリケーション付与を使用してAPIへのアクセスを取り消す
前回発行したトークンが短期間のみ有効となるようにアプリケーション付与を設定しておくと、保護されたリソースへのアクセスを取り消す必要が生じた際に、その付与を削除するだけで済むようになります。この時点で、アクセストークンを持つ当事者は、付与を削除してからトークンの有効期限が切れるまでの限られた期間中に、追加のAPI要求を行うことになります。これは実装が簡単(で、かつ安全)な選択肢であるため、アプリケーション付与を取り消して、APIや他の保護されたリソースへのアクセスを拒否することをお勧めします。
たとえば、マシンツーマシンアプリケーションを使用してAPIにアクセスしており、APIを呼び出すパートナーがいる場合、既存の契約が終了した時点で、あなたとパートナーがパートナー関係を更新しないことを決定したとします。そこで、パートナーのAPIへのアクセスを削除したいとします。しかし、問題は、パートナーに1か月間有効なアクセストークンを付与してしまいました。
このような状況で、何ができるでしょうか?
将来的にこのような状況をより簡単に対処できるように、Auth0環境をどのように構成しますか?
アプリケーション付与
このシナリオにおける主な問題は、APIアクセストークンの有効期間が1か月もあることです。
デフォルトでは、Auth0は24時間有効なアクセストークンを発行します。トークンの有効期限を24時間に設定すると、パートナーは24時間間隔で新しいアクセストークンを取得するために、クライアント資格情報の交換(または実装した他の付与)を繰り返す必要があります。契約の期限切れに伴いパートナーのアクセスを拒否するためには、単にアプリケーション付与を削除するだけで、既存のトークンが期限切れになった際に、パートナーは新しいトークンを要求できなくなります。
トークンの有効期限は、token_lifetime
オプションを設定することで変更できます。特定のユースケースに適した有効期限はそれぞれ異なりますが、この値はできるだけ短く設定することをお勧めします。この値を決めるためのスタート地点として、付与の削除とAPIを最後に利用する時点との間で、遅延として許容される時間枠を考えると良いでしょう。
アプリケーション付与を削除する
アプリケーション付与を削除するには、Management APIのアプリケーション付与を削除するエンドポイントに対して適切なDELETE
呼び出しを行います。呼び出しの一環として、削除したいアプリケーション付与のIDを指定する必要があります。このIDは、Management APIのすべてのアプリケーション付与を取得するエンドポイントを通じて取得できます。
また、アプリケーションの付与タイプの更新は、Auth0 Dashboardで行うこともできます。