0

问题

action-xhr如果我们不能使用,如何将新令牌(在响应中返回)插入到 中amp-bind

背景

有限使用访问令牌上的 Gmail 标记文档中,请求应使用对象 ID 和唯一令牌进行签名。

http://www.example.com/approve?requestId=123&accessToken=xyz

id + token 的这种组合应该使用一次。文档状态:

一旦这个请求通过,任何具有相同 id 和访问令牌的未来请求也应该被拒绝

完成一个成功的请求后,我们需要为后续的写入创建一个新的令牌。

但是,AMP for Email 文档表明我们无法更改action-xhrfor a<form>标签:

amp-list 的 src 属性、amp-form 的 action-xhr、amp-img 的 src 或标签的 href 属性不能被 amp-bind 更改。

4

1 回答 1

0

有限使用访问令牌用于电子邮件标记功能,与 AMP for Email 无关。该文档建议拒绝“具有相同 id 和访问令牌的未来请求”,这可能是由于One Click Actions功能的性质,其中从标记呈现的操作大多是一次性操作,不应重复执行:

ConfirmAction只能交互一次。

https://developers.google.com/gmail/markup/reference/one-click-action#confirm_action

SaveAction只能交互一次。

https://developers.google.com/gmail/markup/reference/one-click-action#save_action

这与Go-To Actions功能形成对比,该功能可以多次执行该操作,尽管显然只推荐用于没有任何状态突变的简单链接。

对于 AMP for Email 没有这样的通用建议。某些操作在第一次成功后会被拒绝还是可以重复执行,这取决于电子邮件发件人。您是对的,电子邮件格式的 AMP 甚至不允许从电子邮件中生成动态访问令牌,因此如果电子邮件发件人在第一次成功后拒绝请求,发件人可能应该呈现某种错误消息(例如,通过如果用户尝试第二次执行某些操作,则使用)<div submit-error>下的元素。amp-form访问令牌应硬编码在原始电子邮件有效负载的 URL 中。它仍应在 30 天或更短时间内过期,以供有限使用。

于 2022-03-02T00:28:44.797 回答