SDKを使用したJWT
SDKを使用したJWT
Box公式SDKには、JWT認証のサポートが組み込まれています。
このガイドでは、Box SDKを使用したJWTによるユーザー認証について説明します。JWT認証はBox APIを直接操作するよう設計されており、ユーザーがアプリケーションを承認するためにBoxを介してリダイレクトする必要はありません。
概要
JWT承認を完了するには、以下の手順を完了する必要があります。
- 構成ファイルを読み取る
- SDKクライアントを初期化する
このフローが終了すると、アプリケーションには、アプリケーションの代わりにAPIコールを実行するために使用できるBox SDKクライアントが用意されます。
前提条件
開始する前に、以下の手順を完了しておく必要があります。
- 開発者コンソール内でBoxアプリケーションを作成する
- アプリケーション用に秘密キーの構成ファイルを作成してダウンロードし、
config.json
として保存する - 社内で使用するためにBoxアプリケーションが承認されていることを確認する
1. JSON構成を読み取る
Boxアプリケーションを作成すると、アプリケーションの秘密キーとその他の詳細を含むconfig.json
ファイルも作成されます。以下に、その例を示します。
config.json
{
"boxAppSettings": {
"clientID": "abc...123",
"clientSecret": "def...234",
"appAuth": {
"publicKeyID": "abcd1234",
"privateKey": "-----BEGIN ENCRYPTED PRIVATE KEY-----\n....\n-----END ENCRYPTED PRIVATE KEY-----\n",
"passphrase": "ghi...345"
}
},
"enterpriseID": "1234567"
}
このオブジェクトをアプリケーションで使用するには、ファイルから読み取る必要があります。
.Net
var reader = new StreamReader("path/to/config.json");
var json = reader.ReadToEnd();
var config = BoxConfig.CreateFromJsonString(json);
Java
Reader reader = new FileReader("path/to/config.json");
BoxConfig config = BoxConfig.readFrom(reader);
Python
from boxsdk import JWTAuth
config = JWTAuth.from_settings_file('path/to/config.json')
Node
var config = require("path/to/config.json");
2. SDKクライアントを初期化する
次の手順では、作成した構成を使用してBox SDKを構成し、アプリケーションとして接続するためにクライアントを初期化します。
.Net
var sdk = new BoxJWTAuth(config);
var token = sdk.AdminToken();
BoxClient client = sdk.AdminClient(token);
Java
BoxDeveloperEditionAPIConnection api = BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(config);
Python
client = Client(config)
Node
var sdk = BoxSDK.getPreconfiguredInstance(config);
var client = sdk.getAppAuthClient("enterprise");