Аутентификация запросов в AMP для электронной почты

Для создания динамического персонализированного контента в электронных письмах часто требуется аутентификация пользователя. Однако для защиты пользовательских данных все HTTP-запросы, отправляемые из AMP-писем в Gmail, обрабатываются через прокси-сервер и лишаются файлов 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> , укажите свой токен доступа в URL-адресе 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 , содержащее список ранее сделанных им заметок. Список заметок текущего пользователя доступен по адресу https://example.com/personal-notes в формате JSON.

Перед отправкой электронного письма сервис генерирует криптографически защищенный токен доступа ограниченного использования для jane@example.com: A3a4roX9x . Токен доступа включается в поле exampletoken в URL-запросе:

<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 и поиск пользователя, связанного с этим токеном.

Для получения более подробной информации см. раздел «Токены доступа с ограниченным использованием» .