动态的个性化电子邮件内容通常需要对用户进行身份验证。 不过,为了保护用户数据,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 参数并查找与该令牌关联的用户。
如需了解详情,请参阅 有限用途访问令牌。