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" } } ] } ] }