| Boxアプリケーションの種類 | OAuth 2.0をサポートしますか? | JWTは? | クライアント資格情報は? | アプリトークンは? |
|---|---|---|---|---|
| Platformアプリ | はい | はい | はい | いいえ |
| アクセス制限付きアプリ | いいえ | はい | いいえ | はい |
| カスタムスキル | いいえ | いいえ | いいえ | いいえ |
OAuth 2.0
OAuth 2.0はクライアント側の認証方法で、そのシンプルさからBox APIに対するユーザーの承認で広く使われています。これはオープンスタンダードであり、ユーザーはアプリケーションに対して他のアプリケーション内の自分のデータへのアクセスを許可できるようになります。Boxのクライアント側認証では、Twitter、Facebook、Googleを使用してウェブサイトにログインする仕組みと同様に、ユーザーはアプリからBoxウェブアプリにリダイレクトされるので、そこでログインしてアプリに自分のデータへのアクセスを許可します。たとえば、Boxではコミュニティフォーラムにログインするユーザーに対してこの認証タイプを使用します。OAuth 2.0はいつ使用すべきですか?クライアント側認証は、以下に当てはまるアプリに最適な認証方法です。
- 既存のBoxアカウントを持っているユーザーと連携する
- ユーザーがBoxを使用していることを認識できるように、ID管理にBoxを使用する
- アプリケーションのサービスアカウントではなく各ユーザーアカウント内にデータを保存する
JSONウェブトークン (JWT)
JSONウェブトークン (JWT) は、Box APIの最も一般的なサーバー側認証方法です。JWTはオープンスタンダードであり、堅牢なサーバー間認証を実現します。この方法は、Platformアプリのみに限定されており、エンドユーザーによる操作は必要ありません。適切な権限が付与されているアプリは、企業内の任意のユーザーの代理として操作できるため、強力でシームレスな統合が促進されます。管理者が承認すると、JWTアプリケーションには、デフォルトで、APIコールを行うサービスアカウントが割り当てられます。JWTはいつ使用すべきですか?JWTを使用するサーバー側認証は、以下に当てはまるアプリに最適な認証方法です。
- Boxアカウントを持たないユーザーと連携する
- 独自のIDシステムを使用する
- Boxを使用していることをユーザーに認識させたくない
- ユーザーのアカウントではなくアプリケーションのサービスアカウント内にデータを保存する
- 公開キーと秘密キーのペアを管理したい
クライアント資格情報許可 (CCG)
クライアント資格情報許可のアプローチは、サーバー認証に使用され、クライアントIDとシークレットを使用してアプリケーションのIDを検証します。これは、アクセストークンを取得する際にアプリケーションを識別するための安全な方法です。この方法は、ユーザーの関与なしにサーバー間でやり取りする必要があるシナリオで特に便利です。アプリケーションの構成に応じて、アプリケーションのサービスアカウントまたは管理対象ユーザーとして認証できます。管理者が承認すると、CCGアプリケーションには、デフォルトで、APIコールを行うサービスアカウントが割り当てられます。CCGを使用する場合JWTを使用するサーバー側認証は、以下に当てはまるアプリに最適な認証方法です。
- Boxアカウントを持たないユーザーと連携する
- 独自のIDシステムを使用する
- Boxを使用していることをユーザーに認識させたくない
- ユーザーのアカウントではなくアプリケーションのサービスアカウント内にデータを保存する
- 公開キーと秘密キーのペアを管理したくない
アプリトークン認証
アプリトークン認証はもう1つのサーバー側認証オプションで、アプリケーションのサービスアカウントに制限されている、有効期間の長い固定のアクセストークンを使用します。この方法は、Box Viewを利用しているアプリケーションに最適で、アプリにそれ自体のアカウントに対するデータの読み取りと書き込みのアクセス権限だけを必要とするシナリオ向けに設計されています。アプリトークン認証を使用すると、アプリケーションは関連付けられているサービスアカウントとして自動的に認証されるため、エンドユーザーによる承認は必要ありません。また、これはAPIエンドポイントのサブセットに制限されます。アプリトークン認証を使用する場合アプリトークンを使用するサーバー側認証は、以下に当てはまるアプリに最適な認証方法です。
- ユーザーモデルがない環境、またはBoxアカウントを持たないユーザーがいる環境で使用する
- 独自のID管理システムを使用する
- Boxを使用していることをユーザーに認識させたくない
- ユーザーのアカウントではなくアプリケーションのサービスアカウント内にデータを保存する
Box Skills
Box Skillsは、Boxにアップロードされたファイルのカスタマイズした処理に使用される独自の種類のアプリケーションです。サードパーティの機械学習サービスを使用してファイルから情報を抽出し、それをメタデータとして適用します。カスタムスキルの認証は、各スキルイベントに備わっている事前承認済みのAPI資格情報によって簡素化されていますが、APIアクセスには制限があります。カスタムスキルでは特定の認証タイプを選択する必要がなく、シンプルさとBoxの機能との直接統合に重点が置かれています。Box Skillsを使用する場合Box Skillsを使用するWebhookベースの認証は、以下に当てはまるアプリに最適な認証方法です。
- サードパーティの機械学習環境で使用する
- Boxを使用していることをできるだけユーザーに認識させたい
- 他のプロセスと連携して最終目標を達成する
- Box Skillをトリガーするファイルだけを処理する
