概要
Authlete は発行済トークンの情報(有効期間やスコープなど)を更新するための API を 2 種類提供しています。これらの API はそれぞれ、更新対象の指定方法と、更新可能な項目が異なります。用途に応じて使い分けてください。| ある 1 つのトークンを更新 | あるクライアントとユーザーに関連するトークンを更新 | |
|---|---|---|
| API | /auth/token/update | /client/authorization/update |
| 対象の指定方法 | ある 1 つのアクセストークン(“accessToken”) | クライアント (“clientId”) とユーザー (“subject”) の組 |
| 対象の個数 | 1 | 1 以上複数 |
| 更新可能な項目 | - スコープ (“scopes”) - 有効期間 (“accessTokenExpiresAt”) - プロパティ (“properties”) など | - スコープ (“scopes”) |
ある 1 つのトークンを指定する方法
/auth/token/update API を用います。ある発行済のアクセストークン(accessToken) について、新たな有効期間 (accessTokenExpiresAt) やスコープ (scopes) を設定することが可能です。 また OAuth 2.0 関連のパラメーター以外にも、任意の key/value を「プロパティ (properties)」として追加することができます。これにより、そのアクセストークンにひもづく情報を Authlete のデータベースに格納することが可能となります。あるクライアントとユーザーに関連するトークンを指定する方法
/client/authorization/update API を用います。対象範囲は、あるクライアント (clientId) に対して発行されているトークンのうち、さらにそのクライアントに対して許可を与えたユーザー (subject) に関連するものというかたちになります。 この API は、あるユーザーがあるクライアントに対して行った認可をすべて更新する場合に有用です。たとえば以下のようなユースケースが想定されます。- ユーザーは当初、あるクライアントの利用に際し、情報参照のみの権限をそのクライアントに許可する。その結果として、クライアントには、readスコープだけが付与されたアクセストークン(1個目)が発行される
- クライアントのサービスを利用し続けるうちに、ユーザーは、情報更新も許可して問題ないと考えるようになる。そこでユーザーは、情報参照と情報更新の権限をそのクライアントに許可する。その結果として、クライアントには、readとwrite の 2 つのスコープが付与された 2 個目のアクセストークンが追加発行される
- さらにサービスを利用し続けているうちに、ユーザーは、情報更新については権限付与を取り消したいと考えるようになる。そこでユーザーは認可サーバーにアクセスし、当該クライアントに与えている「情報更新」権限について取り消しを行う
