Mengautentikasi permintaan di AMP untuk Email

Konten email yang dipersonalisasi secara dinamis sering kali memerlukan autentikasi pengguna. Namun, untuk melindungi data pengguna, semua permintaan HTTP yang dibuat dari dalam email AMP dalam Gmail diberi proxy dan dihilangkan cookie.

Untuk mengautentikasi permintaan yang dibuat dari email AMP, Anda dapat menggunakan token akses.

Token akses

Anda dapat menggunakan token akses untuk mengautentikasi pengguna. Token akses merupakan yang disediakan dan diperiksa oleh pengirim email. Pengirim menggunakan token untuk memastikan bahwa hanya mereka yang memiliki akses ke email AMP yang dapat membuat permintaan berisi dalam email tersebut. Token akses harus aman secara kriptografis, sesuai waktu, dan {i>scope-limited<i}. Kolom tersebut disertakan dalam URL permintaan.

Contoh ini menunjukkan penggunaan <amp-list> untuk menampilkan data yang diautentikasi:

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

Demikian pula, saat menggunakan <amp-form>, tempatkan token akses Anda di 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>

Contoh

Contoh berikut mempertimbangkan layanan pencatatan hipotetis yang memungkinkan pengguna yang masuk untuk menambahkan catatan ke akun mereka dan melihatnya nanti. Layanan ingin mengirim email ke pengguna, jane@example.com, yang menyertakan daftar catatan yang mereka buat sebelumnya. Daftar catatan pengguna saat ini tersedia di endpoint https://example.com/personal-notes dalam format JSON.

Sebelum mengirim email, layanan membuat salinan email yang aman secara kriptografis token akses penggunaan terbatas untuk jane@example.com: A3a4roX9x. Token akses merupakan disertakan dalam nama kolom exampletoken di dalam kueri URL:

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

Endpoint https://example.com/personal-notes bertanggung jawab untuk memvalidasi parameter exampletoken dan menemukan pengguna yang terkait dengan token tersebut.

Untuk informasi selengkapnya, lihat Token akses penggunaan terbatas.