非対話型クライアントに関する質問があります oauth2の流れに基づくバックエンドアプリです。oauth2のフローで非対話型クライアントに対して新しいaccess_tokenを要求するタイミングは?
https://auth0.com/docs/api-auth/grant/client-credentials
非対話型のクライアントのためのOAuth2に従い、フローは次のとおりです。
- アプリケーションはAuth0はそのクライアントIDとクライアントシークレットを使用して認証します。
- Auth0はこの情報を検証し、access_tokenを返します。
- アプリケーションは、access_tokenを使用して、それ自体のためにAPIを呼び出すことができます。この上
ベース、私の質問は以下のとおりです。
- バックエンド・アプリケーションは、ローカルにaccess_tokenはを保存したり、同じクライアントのために、クライアントがアプリケーションを使用するたびに新しいaccess_tokenはを要求する必要がありますか?
- access_tokenがローカルに保存されている場合、有効期限のあるものは何ですか?
- 非対話型クライアントのアクセストークンは、対話型ユーザー(ログインWeb)のaccess_tokenと同じ有効期限を持つ必要がありますか?
ありがとう@arcseldon。 (1)「たとえばスコープが頻繁に変更される場合」とは、ビジネスおよびセキュリティプロジェクトの要件、またはjsonレスポンスからの読み取り/書き込みスコープの作成を意味します(https://www.oauth.com/oauth2-servers/access-tokens/access-token-response /)? (2)安定した企業環境では、セキュリティエンドポイントのすべてのアプリクライアントに影響を与えないように、セキュリティプロジェクトの要件を変更するべきではありません。したがって、安定したセキュリティプラットフォームを前提とすると、有効期限の長いaccess_tokenは有効でしょうか?また、セキュリティ上の理由から、access_tokenは期限切れになると(頻繁に)更新する必要がありますか?ありがとう – JRichardsz
こんにちは。ここでは、あなたがかなり「固定された」認可権を持っているかどうか、例えば、 APIに割り当てられたスコープは 'read:book write:book'のようなもので、より長い有効期限が適しています(他のすべてのものは同じです - 例えば信頼できるクライアントなど)。ただし、権限が変更される可能性があり、非対話型クライアントが新しい変更を取得したい場合は、有効期限を短くする方が適しています。スコープとして 'delete book'を追加し、既存の非インタラクティブクライアントがその変更をピックアップすることを望みます。彼らは早くアクセストークンを更新するのは簡単です。 – arcseldon