Mengautentikasi permintaan di AMP untuk Email

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

Untuk mengautentikasi permintaan yang dilakukan 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 tersebut 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 batasan waktu dan cakupan. 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 pencatatan hipotetis yang memungkinkan pengguna yang login untuk menambahkan catatan ke akun mereka dan melihatnya nanti. Layanan ini ingin mengirim email kepada pengguna, jane@example.com, yang menyertakan daftar catatan yang mereka ambil sebelumnya. 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 kriptografi 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 mengetahui informasi selengkapnya, baca Token akses penggunaan terbatas.