認証方式の選択

ガイド 認証 認証方式の選択

認証方式の選択

アプリケーションで使用できる承認の種類は、開発者コンソールで構成したBoxアプリケーションの種類によって異なります。

アプリケーションの種類の選択方法を確認する

使用できる方式

Boxアプリケーションの種類それぞれでは、以下の認証方式を使用できます。

Boxアプリケーションの種類OAuth 2.0をサポートしますか?JWTは?アプリトークンは?開発者トークンは?
カスタムアプリはいはいいいえはい
Limited Access Appいいえはいはいいいえ
カスタムスキルいいえいいえいいえいいえ

クライアント側OAuth 2.0

Client-side OAuth 2.0 requires the application to redirect end-users to their browser to login to Box and authorize the application to take actions on their behalf.

BoxのOAuth 2.0承認

OAuth 2.0はいつ使用すべきですか?

クライアント側認証は、以下に当てはまるアプリに最適な認証方式です。

  • 既存のBoxアカウントを持っているユーザーを使用する
  • ユーザーにBoxを使用していることを知らせる必要がある
  • ユーザーのBoxアカウントにデータを保存し、アプリケーションのBoxアカウントには保存しない

OAuth 2.0を使用したクライアント側認証を確認する

サーバー側JWT

Server-side authentication using JSON Web Tokens (JWT) does not involve a user in the authorization flow and therefore can be used to act on behalf of any user in an enterprise. JWT uses a public/private key pair verify the application's permissions.

BoxのJWTフロー

JWTはいつ使用すべきですか?

JWTを使用するサーバー側認証は、以下に当てはまるアプリに最適な認証方式です。

  • Boxアカウントを持たないユーザーを使用する
  • 独自のIDシステムを使用する
  • ユーザーにBoxを使用していることを認識させたくない
  • アプリケーションのBoxアカウントにデータを保存し、ユーザーのBoxアカウントには保存しない

JWTを使用したサーバー側認証を確認する

サーバー側アプリトークン

サーバー側アプリトークンは、アプリケーションに、その所有アカウントのデータに対して読み取りと書き込みのアクセス権限だけがある認証方式です。これは、主にBox Viewアプリケーションで使用されます。この認証方式を使用すると、アプリケーションはそのアプリケーションに属しているサービスアカウントとして自動的に認証されるため、ユーザーを承認する必要がありません。

アプリトークンはいつ使用すべきですか?

アプリトークンを使用するサーバー側認証は、以下に当てはまるアプリに最適な認証方式です。

  • ユーザーモデルがない環境、またはBoxアカウントを持たないユーザーがいる環境で使用する
  • 独自のIDシステムを使用する
  • ユーザーにBoxを使用していることを認識させたくない
  • ユーザーのアカウントではなく、アプリケーションのサービスアカウントにデータを保存する

アプリトークンを使用したサーバー側認証を確認する

開発者トークン

サーバー側の開発者トークンは、OAuth 2.0を使用するアプリケーションを作成した開発者が使用できる、有効期間の短い認証です。これは、1時間のみ有効なアクセストークンで、トークンを作成した開発者として認証します。

開発者トークンはいつ使用すべきですか?

開発者トークンは、開発およびテスト段階に最適な認証方式です。開発者が以下の状況に当てはまる場合に理想的です。

  • API呼び出しをすばやくテストする
  • 別のユーザーとして認証しない
  • トークンが必要なのは1時間以内である
  • コードを実稼働環境に提供する予定がない

比較

以下に、クライアント側とサーバー側の認証の主な違いの概要を示します。

OAuth 2.0JWTアプリトークン開発者トークン
ユーザーの関与が必要?はいいいえいいえはい
管理者の承認が必要?いいえはいはいいいえ
他のユーザーの代理で操作可能?はいはいいいえはい
ユーザーにBoxを表示?はいいいえいいえはい
App Userを作成可能?いいえはいいいえはい
実稼働環境で使用可能?はいはいはいいいえ

アクセストークンは特定のBoxユーザーに関連付けられており、そのユーザーが誰であるかは、トークンがどのように取得されたかによって決まります。

For example, when using client-side authentication the token represents the user who granted access to their account, while while when using server-side authentication the token defaults to the application's Service Account.