在 AMP 中对电子邮件请求进行身份验证

动态个性化电子邮件内容通常需要对用户进行身份验证。不过,为了保护用户数据,Gmail 中通过 AMP 电子邮件发出的所有 HTTP 请求都会经过代理并移除 Cookie。

如需对通过 AMP 电子邮件发出的请求进行身份验证,您可以使用访问令牌

访问令牌

您可以使用访问令牌对用户进行身份验证。访问令牌由电子邮件发件人提供和检查。发件人使用这些令牌来确保只有有权访问 AMP 电子邮件的用户才能发出该电子邮件中包含的请求。访问令牌必须经过加密处理,并且有时间和范围限制。它们包含在请求的网址中。

以下示例演示了如何使用 <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 网址中。

<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 发送一封电子邮件,其中包含他们之前记下的备注列表。当前用户的备注列表以 JSON 格式提供在端点 https://example.com/personal-notes 中。

在发送电子邮件之前,该服务会为 jane@example.com: A3a4roX9x 生成一个加密安全的限用访问令牌。访问令牌包含在网址查询中的字段名称 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 参数并查找与令牌关联的用户。

如需了解详情,请参阅使用受限的访问令牌