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 akan di-proxy-kan dan dihapus 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 disediakan dan diperiksa oleh pengirim email. Pengirim menggunakan token untuk memastikan bahwa hanya mereka yang memiliki akses ke email AMP yang dapat membuat permintaan yang terdapat dalam email tersebut. Token akses harus aman secara kriptografis serta memiliki cakupan dan waktu yang terbatas. 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 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>

Contoh

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

Sebelum mengirim email, layanan membuat token akses penggunaan terbatas yang aman secara kriptografis untuk jane@example.com: A3a4roX9x. Token akses 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 mengetahui informasi selengkapnya, lihat Token akses penggunaan terbatas.