AMP for Email でのリクエストの認証

動的パーソナライズされたメール コンテンツでは、多くの場合、ユーザーの認証が必要になります。ただし、ユーザーデータを保護するため、Gmail 内の AMP メール内から送信されるすべての HTTP リクエストはプロキシされ、Cookie が削除されます。

AMP メールから送信されたリクエストを認証するには、アクセス トークンを使用できます。

アクセス トークン

アクセス トークンを使用してユーザーを認証できます。アクセス トークンはメール送信者が提供して確認します。送信者はトークンを使用して、AMP メールにアクセスできるユーザーのみがそのメールに含まれるリクエストを実行できるようにします。アクセス トークンは、暗号技術的に安全で、時間とスコープが制限されている必要があります。リクエストの URL 内に含まれます。

この例では、<amp-list> を使用して認証済みデータを表示する方法を示しています。

<amp-list src="https://example.com/endpoint?token=REPLACE_WITH_YOUR_ACCESS_TOKEN"
  height="300">
  <template type="amp-mustache">
    ...
  </template>
</amp-list>

同様に、<amp-form> を使用する場合は、アクセス トークンを action-xhr URL に配置します。

<form action-xhr="https://example.com/endpoint?token=REPLACE_WITH_YOUR_ACCESS_TOKEN" method="post">
  <input type="text" name="data">
  <input type="submit" value="Send">
</form>

次の例では、ログインしたユーザーがアカウントにメモを追加して後で表示できる仮想のメモ作成サービスを検討します。サービスは、以前に作成したメモのリストを含むメールをユーザー jane@example.com に送信したいと考えています。現在のユーザーのメモのリストは、エンドポイント https://example.com/personal-notes で JSON 形式で確認できます。

メールを送信する前に、このサービスは jane@example.com: A3a4roX9x の暗号で保護された限定使用のアクセス トークンを生成します。アクセス トークンは、URL クエリ内のフィールド名 exampletoken に含まれます。

<amp-list src="https://example.com/personal-notes?exampletoken=A3a4roX9x" height="300">
  <template type="amp-mustache">
    <p>{{note}}</p>
  </template>
</amp-list>

エンドポイント https://example.com/personal-notes は、exampletoken パラメータを検証し、トークンに関連付けられたユーザーを検索します。

詳細については、限定使用のアクセス トークンをご覧ください。