OAuth 2 トークンの更新
OAuth 2 トークンの更新
このガイドは、OAuth 2 アプリが構築済みであることを前提としています
まだの場合は、こちらのガイドを参照してください。OAuth 2 資格情報の付与が成功して access_token と refresh_token を取得したら、ここに戻ってきてください。
トークン更新の基本
OAuth2.0 資格情報リクエストにオフラインスコープを含めた場合、Frame.io の Accounts アプリケーションを介した認証に成功すると、次のようなペイロードが返されます。 ******
access_token は、認証されたユーザーの代理で動作するために使用できるベアラートークンであり、3600 秒(1 時間)後に期限切れになります。その後、refresh_token を使用して新しい access_token を取得できます。更新トークンは 30 日後に期限切れになります。その時点で、ユーザーに一からログインしてもらうことが必要になり、新しいアクセス/更新トークンペアなどが生成されます。
オフラインスコープを明示的にリクエストしなかった場合は、refresh_token **を受け取らないので、1 時間後にユーザーを完全に再認証する必要があります。
認証に成功したときの更新トークンのキャプチャ
言うまでもなく、持っていない refresh_token を使用することはできません。アプリで次のようにしてください。
- オフラインスコープをリクエストする
- 正常なコールバックで返された
refresh_tokenをキャプチャする
便宜上、OAuth 2 アプリガイドからのコールバックがここに再現されており、os 更新トークンを隠す呼び出しがあります。次の 2 つの例が提供されていることに注意してください。1 つは PKCE が設定されている例(基本認証ヘッダーを含まない)、もう 1 つは設定されていない例(基本認証ヘッダーを含む)。
PKCE なし
PKCE を使用
更新の実行
更新自体は、Frame.io のトークン URL への 1 回の呼び出しです。
- メソッド:POST
- URL:https://applications.frame.io/oauth2/token
Content-Type:application/x-www-form-urlencoded **
更新には常に、フォームデータに少なくとも次の 3 つの属性が含まれます。
grant_type:refresh_token **scope:<SCOPES>refresh_token:<REFRESH_TOKEN>
PKCE を使用している場合は、このフォームデータにアプリの client_id を含めることが必要になります。そうでない場合は、アプリの client_id および client_secret をそれぞれユーザー名、パスワードとして含んだ基本認証ヘッダーを含めることが必要になります。
PKCE なし
PKCE なしで初期認証コールバックを行う場合と同様に、この標準更新には、基本認証ヘッダーで client_idおよび client_secret をユーザー名およびパスワードとして指定する必要があります。
PKCE を使用
繰り返しますが、初期 /callback サイクルのルールを模倣しています。
Authorizationヘッダーは含めません- ペイロードに
client_idを含める必要があります
完了しました。OAuth2.0 クライアントアプリケーションのトークンライフサイクル全体を処理できるようになりました。