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

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