token-auth

token-authを設定することで、有効な認可用トークン(以降、単にトークンと記載します)をリクエストに付加してアクセスしたエンドユーザーのみが、配信設定されたコンテンツにアクセスできます。認可が必要なコンテンツへアクセスする場合、クエリパラメーター・Cookie・リクエストヘッダーのいずれかにトークンを設定します。トークンの生成については、お客様が行う必要があります。詳細は機能説明書をご参照ください。

paramsパラメーター(必須)で指定可能な設定は以下の通りです。

  • tokenName (必須)
    • トークン名です。エッジサーバは、クエリパラメーター・Cookie・リクエストヘッダーからここで指定したトークン名を探し、検証をおこないます。トークン名として指定可能な文字は正規表現で次の通りとなります。

      ^([a-zA-Z][a-zA-Z0-9-_]*)$

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