JWTを使用した設定

JWTを使用した設定

カスタムアプリは、JWTによるサーバー側認証を使用するよう設定できます。

JWT認証のしくみを確認する

前提条件

サーバー側認証を使用してカスタムアプリを設定するには、Box Enterpriseアカウントから開発者コンソールにアクセスできることを確認する必要があります。または、Developerアカウントにサインアップすることもできます。

アプリの作成手順

1. 開発者コンソールに移動する

Boxにログインし、開発者コンソールに移動して、[アプリの新規作成] を選択します。

2. アプリケーションの種類を選択する

アプリケーションの種類のリストから [カスタムアプリ] を選択します。次の手順を促すモーダルが表示されます。

認証の選択画面

3. 認証の種類とアプリケーション名を選択する

キーペアを使用してアプリケーションIDを確認する場合は、[サーバー認証 (JWT使用)] を選択します。クライアントIDとクライアントシークレットを使用してアプリケーションIDを確認する場合は、[サーバー認証 (クライアント資格情報の許可)] を選択します。その後、アプリケーションの名前を入力し、[アプリの作成] をクリックします。

選択すると、新しいアプリケーションを作成しない限り、別の認証方式に変更できません。

アプリ名のフォーム

公開キーと秘密キーのペア

このセクションは、認証方式として [サーバー認証 (クライアント資格情報の許可)] を選択した場合はスキップできます。

[サーバー認証 (JWT使用)] を利用してカスタムアプリを作成すると、開発者コンソールの [構成] タブでキーペアを生成できます。また、独自のキーペアを生成して、その公開キーをBoxに提供することもできます。選択する方法に関係なく、セキュリティの目的で、Boxアカウントでは2FAを有効にしておく必要があります。

キーペアの生成(推奨)

Boxで生成されたキーペアを使用する場合は、開発者コンソールに移動し、そこで構成ファイルを生成できます。このファイルには、公開/秘密キーペアのほか、認証に必要なその他さまざまなアプリケーションの詳細が含まれています。

このファイルを生成するには、開発者コンソールの [構成] タブに移動し、[公開キーの追加と管理] セクションまで下にスクロールします。

キーの追加と管理

[<C0>公開/秘密キーペアを生成</c0>] ボタンをクリックすると、Boxによってキーペアが生成されます。これにより、アプリケーションコードに移すことができるJSON構成ファイルのダウンロードが開始されます。

セキュリティ上の理由により、Boxには秘密キーが保存されません。秘密キーを紛失した場合は、キーペア全体のリセットが必要になります。

手動によるキーペアの追加

代わりに、独自のキーペアを生成し、その公開キーを開発者コンソールにアップロードすることもできます。

OpenSSLを使用してキーペアを作成するには、ターミナルウィンドウを開き、以下のコマンドを実行します。

openssl genrsa -des3 -out private.pem 2048
openssl rsa -in private.pem -outform PEM -pubout -out public.pem

Windowsシステムの場合

Windowsユーザーは、Cygwinパッケージをインストールして使用することで、OpenSSLを実行できます。

その後、開発者コンソールでアプリケーションの [構成] タブに移動し、[公開キーの追加と管理] セクションまで下にスクロールします。

キーの追加と管理

[<C0>公開キーを追加</c0>] ボタンをクリックし、上記の手順で生成された公開キーを入力して、[確認して保存] をクリックします。

アプリの承認

アプリケーションを使用するには、Box管理者がBox管理コンソールでそのアプリケーションを承認しておく必要があります。

開発者コンソールで、目的のアプリケーションの [承認] タブに移動します。

キーの追加と管理

[確認して送信] をクリックして、承認を得るためにBox Enterprise管理者にメールを送信します。このプロセスの詳細については、アプリの承認に関するサポート記事を参照してください。

構成変更後の再承認

一般的な経験則では、開発者コンソールで構成を変更した後は、Box管理コンソールでアプリケーションの再承認が必要になります。この手順をスキップすると、生成されたどのアクセストークンにも、構成の変更が反映されません。

基本的な構成

アプリケーションアクセス

アプリケーションのアクセスレベルにより、アプリからアクセスできるユーザーおよびコンテンツが決まります。デフォルトでは、アプリケーションで問題なく操作できるのは、そのサービスアカウントとすべてのApp Userのコンテンツのみです。会社の既存の管理対象ユーザーにもアクセスするには、開発者コンソールの [構成] タブからアクセスできる [アプリケーションアクセス] 設定に移動し、[アプリ + Enterpriseアクセス] に設定します。

アプリのアクセスレベル

アプリケーションスコープ

アプリケーションのスコープにより、アプリケーションから正常に呼び出せるエンドポイントとリソースが決まります。各オプションの詳細については、スコープのガイドを参照してください。

アプリスコープ

CORSドメイン

アプリケーションがJavaScriptでフロントエンドのブラウザコードからAPI呼び出しを実行する場合は、クロスオリジンリソース共有 (CORS) のために、これらの呼び出しの実行元となるドメインを許可リストに追加する必要があります。すべてのリクエストがサーバー側のコードから発行される場合は、このセクションをスキップできます。

許可リストに完全なURIを追加するには、開発者コンソールの [構成] タブの下部にある [CORSドメイン] セクションに移動します。

アプリのCORS設定