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 パラメータを検証し、トークンに関連付けられたユーザーを見つける役割を担います。

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