token-authを設定することで、有効な認可用トークン(以降、単にトークンと記載します)をリクエストに付加してアクセスしたエンドユーザーのみが、配信設定されたコンテンツにアクセスできます。認可が必要なコンテンツへアクセスする場合、クエリパラメーター・Cookie・リクエストヘッダーのいずれかにトークンを設定します。トークンの生成については、お客様が行う必要があります。詳細は機能説明書をご参照ください。
paramsパラメーター(必須)で指定可能な設定は以下の通りです。
- tokenName (必須)
- tokenDelimiter (オプション)
- aclDelimiter (オプション)
- hmacAlgorithm (必須)
- トークンのMAC(Message Authentication Code)値の算出に使用するアルゴリズムです。MD5、SHA1、SHA256が指定できますが、セキュリティ観点からSHA256を推奨します。
- escapeTokenInputs (必須)
- トークンを検証するためにMAC値を算出する際、検証対象コンテンツのパス文字列を、URLエンコードしてMAC値を算出するかどうかです。
- true – URLエンコードする
- false – URLエンコードしない
- ignoreQueryString (必須)
- MAC値を算出するためのコンテンツパスにクエリパラメーターが付加されている場合、そのクエリパラメーターを無視するかどうかです。
- true – クエリパラメーターを無視する
- false – クエリパラメーターを無視しない
- key (必須)
- MAC値を算出するために使用する共通鍵です。16進文字列で、字数は64以内の偶数としてください。
- transitionKey (オプション)
- MAC値を算出するために使用する共通鍵です。16進文字列で、字数は64以内の偶数としてください。transitionKeyは、keyから共通鍵を変更する場合に使用します。エッジサーバは、keyまたはtransitionKeyによる何れかのトークン検証が成功すれば、アクセスを認可します。
{
"rules": [
{
"matches": [
{
"name": "url-wildcard",
"value": "/protected/*"
}
],
"behaviors": [
{
"name": "token-auth",
"params": {
"tokenName": "__mytoken__",
"tokenDelimiter": "~",
"aclDelimiter": "!",
"hmacAlgorithm": "SHA256",
"escapeTokenInputs": false,
"ignoreQueryString": true,
"key": "6e65775365637265744b6579",
"transitionKey": "6f6c645365637265744b6579"
}
}
]
}
]
}