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 dan dihapus cookie-nya.

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 hanya orang yang memiliki akses ke email AMP yang dapat membuat permintaan yang terdapat dalam email tersebut. Token akses harus aman secara kriptografis dan dibatasi waktu serta cakupan. Parameter ini 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 pencatatan hipotetis yang memungkinkan pengguna yang login menambahkan catatan ke akun mereka dan melihatnya nanti. Layanan ini ingin mengirim email kepada 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 akan 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.

Untuk informasi selengkapnya, lihat Token akses penggunaan terbatas.