アプリケーション付与を使用して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で行うこともできます。

もっと詳しく