El contenido de correo electrónico personalizado dinámico a menudo requiere la autenticación del usuario. Sin embargo, para proteger los datos de los usuarios, todas las solicitudes HTTP que se realizan desde el interior de los correos electrónicos AMP en Gmail se envían a través de un proxy y se les quitan las cookies.
Para autenticar las solicitudes realizadas desde correos electrónicos de AMP, puedes usar tokens de acceso.
Tokens de acceso
Puedes usar tokens de acceso para autenticar al usuario. El remitente del correo electrónico proporciona y verifica los tokens de acceso. El remitente usa los tokens para garantizar que solo quienes tienen acceso al correo electrónico de AMP puedan realizar las solicitudes que contiene. Los tokens de acceso deben ser criptográficamente seguros y estar limitados en cuanto al tiempo y el alcance. Se incluyen en la URL de la solicitud.
En este ejemplo, se muestra cómo usar <amp-list> para mostrar datos autenticados:
<amp-list src="https://example.com/endpoint?token=REPLACE_WITH_YOUR_ACCESS_TOKEN"
height="300">
<template type="amp-mustache">
...
</template>
</amp-list>
Del mismo modo, cuando uses <amp-form>, coloca tu token de acceso en la URL de 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>
Ejemplo
En el siguiente ejemplo, se considera un servicio hipotético para tomar notas que permite a los usuarios que accedieron a su cuenta agregar notas y verlas más tarde. El servicio quiere enviar un correo electrónico a un usuario, jane@example.com, que incluya una lista de las notas que tomó anteriormente. La lista de notas del usuario actual está disponible en el extremo https://example.com/personal-notes en formato JSON.
Antes de enviar el correo electrónico, el servicio genera un token de acceso de uso limitado y criptográficamente seguro para jane@example.com: A3a4roX9x. El token de acceso se incluye en el nombre del campo exampletoken dentro de la consulta de URL:
<amp-list src="https://example.com/personal-notes?exampletoken=A3a4roX9x" height="300">
<template type="amp-mustache">
<p>{{note}}</p>
</template>
</amp-list>
El extremo https://example.com/personal-notes es responsable de validar el parámetro exampletoken y encontrar al usuario asociado con el token.
Para obtener más información, consulta Tokens de acceso de uso limitado.