サーバー認証を使用してトークンを取得しようとすると、次のエラーメッセージが返されます。
{ "error": "invalid_request", "error_description": "Cannot obtain user token based on the enterprise configuration for your app" }
環境
サーバー認証を使用して (サービスアカウントまたはEnterpriseトークン以外の) ユーザートークン/クライアントを取得するためにAPI呼び出しを行うすべてのカスタムアプリケーション。
例:
- https://github.com/box/box-node-sdk#app-auth-client
- https://github.com/box/box-windows-sdk-v2#create-an-app-user
解決手順
アプリケーションに対して適切なスコープが有効になっていることを確認します。
根本原因
JWT認証を使用してユーザー用のトークンを取得するには、以下の2つの項目が必要です。
- アプリケーションの設定ページで [ユーザーアクセストークンを生成] スコープを有効にします。
- JWTで渡されるユーザーIDがApp Userである場合は、「アプリケーションアクセス」が必要です (アプリケーションの設定ページでも必要です)。JWTで渡されるユーザーIDが管理対象ユーザーである場合は、「Enterpriseアクセス」が必要です。
サーバー認証アプリに変更を加えたら毎回、企業の管理コンソールでアプリケーションを再承認する必要があります。
platform_swarm_kb