Żądania uwierzytelniania w AMP dla poczty e-mail

Dynamicznie spersonalizowane treści e-maili często wymagają uwierzytelniania użytkownika. Aby chronić dane użytkowników, wszystkie żądania HTTP wysyłane z e-maili w formacie AMP w Gmailu są przesyłane przez serwer proxy i usuwane z plików cookie.

Do uwierzytelniania żądań wysyłanych z e-maili w formacie AMP możesz używać tokenów dostępu.

Tokeny dostępu

Za pomocą tokenów dostępu możesz uwierzytelnić użytkownika. Nadawca e-maila dostarcza tokeny dostępu i sprawdza je. Nadawca używa tokenów, by mieć pewność, że tylko osoby mające dostęp do e-maila w formacie AMP mogą wysyłać żądania zawarte w tym e-mailu. Tokeny dostępu muszą być zabezpieczone kryptograficznie oraz ograniczone czasowo i w ograniczonym zakresie. Są one podane w adresie URL żądania.

Ten przykład pokazuje, jak używać elementu <amp-list> do wyświetlania uwierzytelnionych danych:

<amp-list src="https://example.com/endpoint?token=REPLACE_WITH_YOUR_ACCESS_TOKEN"
  height="300">
  <template type="amp-mustache">
    ...
  </template>
</amp-list>

Podobnie w przypadku korzystania z <amp-form> umieść token dostępu w adresie 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>

Przykład

Poniższy przykład przedstawia hipotetyczną usługę do robienia notatek, która umożliwia zalogowanym użytkownikom dodawanie notatek do konta i wyświetlanie ich później. Usługa chce wysłać do użytkownika jane@example.com e-maila z listą wcześniej utworzonych przez niego notatek. Lista notatek bieżącego użytkownika jest dostępna w punkcie końcowym https://example.com/personal-notes w formacie JSON.

Przed wysłaniem e-maila usługa generuje bezpieczny kryptograficznie token dostępu do ograniczonego użycia dla jane@example.com: A3a4roX9x. Token dostępu jest zawarty w polu o nazwie exampletoken w zapytaniu z adresem URL:

<amp-list src="https://example.com/personal-notes?exampletoken=A3a4roX9x" height="300">
  <template type="amp-mustache">
    <p>{{note}}</p>
  </template>
</amp-list>

Punkt końcowy https://example.com/personal-notes odpowiada za weryfikację parametru exampletoken i znajdowanie użytkownika powiązanego z tokenem.

Więcej informacji znajdziesz w artykule Tokeny ograniczonego wykorzystania.