Box Developerドキュメント
 

    クライアント資格情報許可

    ガイド 認証 クライアント資格情報許可

    クライアント資格情報許可

    サーバー認証を利用し、クライアントIDとクライアントシークレットを使用してアプリケーションのIDを確認する場合は、以下の手順に従います。

    前提条件

    • Box開発者コンソールでサーバー認証 (クライアント資格情報許可使用) を使用するPlatformアプリケーション
    • [構成] タブからアプリケーションのクライアントシークレットを表示およびコピーするために、Boxアカウントで2要素認証が有効になっていること
    • Box管理コンソールでアプリケーションが承認されていること

    クライアントシークレットは機密情報であり、保護する必要があります。アクセストークンの取得時にBoxがアプリケーションのIDを安全に確認するために使用されるため、クライアントシークレットを自由に配布するべきではありません。配布方法には、メール、公開フォーラム、コードリポジトリ、分散されたネイティブアプリケーション、クライアント側のコードなどがあります。さらにセキュリティメカニズムを追加する場合は、Boxの標準的なJWTアプリケーションを使用することをお勧めします。

    利用方法

    APIコールを実行してアクセストークンを取得する際は、リクエスト本文にクライアントIDとクライアントシークレットを含める必要があります。grant_typeclient_credentialsに設定します。

    アプリケーションのサービスアカウントとして認証する場合は、以下のようにします。

    • box_subject_typeenterpriseに設定する
    • box_subject_idをEnterprise IDに設定する

    管理者または管理対象ユーザーとして認証する場合は、以下のようにします。

    • box_subject_typeuserに設定する
    • box_subject_idをユーザーIDに設定する
    • Box開発者コンソールで [アプリ + Enterpriseアクセス] および [ユーザーアクセストークンを生成する] を有効にする

    任意のアプリケーションユーザーとして認証する場合は、以下のようにします。

    • box_subject_typeuserに設定する
    • box_subject_idをユーザーIDに設定する
    • Box開発者コンソールで [ユーザーアクセストークンを生成する] を有効にする

    一般的なエラー

    Grant credentials are invalid (許可の資格情報が無効です)

    認証中に、次のエラーが表示される場合があります。

    Grant credentials are invalid [400 Bad Request] invalid_grant - Grant credentials are invalid
    
    

    このエラーは次のいずれかを示します。

    • 渡されたクライアントIDとクライアントシークレットが正しくないか、同じアプリケーションのものではない。

    • 選択したアプリケーションアクセスに基づいてbox_subject_idを使用できない。

    [アプリアクセスのみ] が指定されているCCGアプリは、そのサービスアカウントとして認証するために送信時にbox_subject_typeenterpriseに設定できますが、管理対象ユーザーまたは管理者として認証できません。

    • box_subject_typeuserに設定して使用するには、[構成] タブの [高度な機能] セクションでユーザーアクセストークンを生成するようアプリケーションを構成する必要があります。

      アクセストークンの生成のチェックボックス

    アプリの設定に変更を加えたら、忘れずに管理コンソールでアプリケーションを再承認してください。

    • アプリケーションがBox管理コンソールで承認されていない