token-auth
token-authを設定することで、有効な認可用トークン(以降、単にトークンと記載します)をリクエストに付加してアクセスしたエンドユーザーのみが、配信設定されたコンテンツにアクセスできます。認可が必要なコンテンツへアクセスする場合、クエリパラメーター・Cookie・リクエストヘッダーのいずれかにトークンを設定します。トークンの生成については、お客様が行う必要があります。詳細は機能説明書をご参照ください。
paramsパラメーター(必須)で指定可能な設定は以下の通りです。
- tokenName (必須)
- トークン名です。エッジサーバは、クエリパラメーター・Cookie・リクエストヘッダーからここで指定したトークン名を探し、検証をおこないます。トークン名として指定可能な文字は正規表現で次の通りとなります。
^([a-zA-Z][a-zA-Z0-9-_]*)$
- トークン名です。エッジサーバは、クエリパラメーター・Cookie・リクエストヘッダーからここで指定したトークン名を探し、検証をおこないます。トークン名として指定可能な文字は正規表現で次の通りとなります。
- tokenDelimiter (オプション)
- トークン文字列内の項目を区切るデリミタ文字です。未指定の場合、「~」がデフォルト値となります。以下の文字は、デリミタ文字として指定できません。
a-z A-Z & 0-9 = & / \ : %
- トークン文字列内の項目を区切るデリミタ文字です。未指定の場合、「~」がデフォルト値となります。以下の文字は、デリミタ文字として指定できません。
- aclDelimiter (オプション)
- アクセスリスト内のパラメーターを区切るデリミタ文字です。未指定の場合、「!」がデフォルト値となります。以下の文字は、デリミタ文字として指定できません。
a-z A-Z & 0-9 = & / \ : %
- アクセスリスト内のパラメーターを区切るデリミタ文字です。未指定の場合、「!」がデフォルト値となります。以下の文字は、デリミタ文字として指定できません。
- 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"
}
}
]
}
]
}