注釈トークン
注釈トークン
注釈は、新しいBox Viewでサポートされる主な機能の1つです。開発者はこの機能を使用して、アプリケーションに埋め込まれたプレビュー内から直接、コラボレーション機能を提供できます。
Box Viewでは、ハイライトのみ、ハイライトによる注釈、およびポイント注釈という3つの注釈の種類をサポートしています。注釈はドキュメントと画像のプレビューのみでサポートされます。
注釈トークンとは
注釈トークンとは、ユーザーが注釈を付けることができるファイルに対してアプリケーションがプレビューの埋め込みリンクを作成できるようにするアクセストークンです。アプリケーションでは、アプリケーションのユーザーそれぞれに新しいApp Userが作成されない可能性があるため、注釈トークンを使用すると、注釈を付けたユーザーを追跡できます。
注釈トークンは、一意のユーザーIDと表示名にリンクされているプレビューセッション (有効期限付き埋め込みリンク) を生成するために、通常のアクセストーク ン、アプリトークン、またはファイルトークンの代わりに使用されます。
外部ユーザー情報
注釈に関連付けられた外部の表示名は、実際のところ、注釈に追加されるステートレスな「ラベル」です。つまり、注釈が追加されると、その表示名は完全に注釈と関連付けられるため、注釈を削除し、更新した表示名を使用して再度追加しなければ更新できません。
SDKを使用せずに作成
注釈トークンを作成するには、JWTを使用して手動で認証する手順に従いますが、その際、JWTクレームを次のデータに置き換えます。
var claims = new List<Claim>{
new Claim("sub", '[EXTERNAL_USER_ID]'),
new Claim("name", '[EXTERNAL_USER_DISPLAY_NAME]'),
new Claim("box_sub_type", "external"),
new Claim("jti", jti),
};
JwtClaims claims = new JwtClaims();
claims.setIssuer(config.boxAppSettings.clientID);
claims.setAudience(authenticationUrl);
claims.setSubject("[EXTERNAL_USER_ID]");
claims.setName("[EXTERNAL_USER_DISPLAY_NAME]");
claims.setClaim("box_sub_type", "external");
claims.setGeneratedJwtId(64);
claims.setExpirationTimeMinutesInTheFuture(0.75f);
claims = {
'iss': config['boxAppSettings']['clientID'],
'sub': '[EXTERNAL_USER_ID]',
'name': '[EXTERNAL_USER_DISPLAY_NAME]',
'box_sub_type': 'external',
'aud': authentication_url,
'jti': secrets.token_hex(64),
'exp': round(time.time()) + 45
}
let claims = {
iss: config.boxAppSettings.clientID,
sub: "[EXTERNAL_USER_ID]",
name: "[EXTERNAL_USER_DISPLAY_NAME]",
box_sub_type: "external",
aud: authenticationUrl,
jti: crypto.randomBytes(64).toString("hex"),
exp: Math.floor(Date.now() / 1000) + 45
};
claims = {
iss: config['boxAppSettings']['clientID'],
sub: "[EXTERNAL_USER_ID]",
name: "[EXTERNAL_USER_DISPLAY_NAME]",
box_sub_type: 'external',
aud: authentication_url,
jti: SecureRandom.hex(64),
exp: Time.now.to_i + 45
}
$claims = [
'iss' => $config->boxAppSettings->clientID,
'sub' => '[EXTERNAL_USER_ID]',
'name' => '[EXTERNAL_USER_DISPLAY_NAME]',
'box_sub_type' => 'external',
'aud' => $authenticationUrl,
'jti' => base64_encode(random_bytes(64)),
'exp' => time() + 45,
'kid' => $config->boxAppSettings->appAuth->publicKeyID
];
パラメータ | 型 | 説明 |
---|---|---|
sub | String | この注釈を関連付ける外部ユーザーID。このIDには、アプリケーションで追跡される任意のIDを使用できます。 |
box_sub_type | String |