動的なパーソナライズされたメール コンテンツでは、ユーザーの認証が必要になることがよくあります。ただし、ユーザーデータを保護するため、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 パラメータを検証し、トークンに関連付けられたユーザーを見つける役割を担います。
詳細については、使用制限付きアクセス トークンをご覧ください。