以下のエラーが表示されます。
{"error":"invalid_grant","error_description":"Please check the 'sub' claim. The 'sub' specified is invalid."}
このエラーはJWT認証を使用している場合に発生します。
環境
JWT認証を使用するカスタムアプリケーション
一般的な原因
- クライアントID、メールアドレス、ログイン情報、またはサービスアカウントIDを
subとして使用している -
box_sub_typeがenterpriseであるのにユーザーIDを使用している、またはその逆 - ユーザーIDがその企業に存在しない
- アプリがその企業向けに承認されていない
- JWTの構成が、サブジェクトIDとは異なるBoxアプリ/環境に由来している
解決方法
このエラーは、作成しようとしているトークンに対して、JWTアサーションのsubクレームが有効なサブジェクトではないことを意味します。
JWTの「sub」クレームは、常にBox IDに設定する必要があります。「box_sub_type」の値に応じて、Box IDはトークンの生成先となるユーザーのIDか、サービスアカウントとして認証するEnterpriseのIDのいずれかになります。
以下の「sub」と「box_sub_type」の組み合わせを使用してください。
- Enterpriseトークン:
sub = <enterprise_id>、box_sub_type = enterprise - ユーザートークン:
sub = <app_user_id or managed_user_id>、box_sub_type = user
「sub」値が正しく、文字列として渡されていることを確認してください。
platform_swarm_kb