Cómo autenticar solicitudes en AMP para correo electrónico

A menudo, el contenido de los correos electrónicos personalizados dinámicos requiere la autenticación del usuario. Sin embargo, para proteger los datos del usuario, todas las solicitudes HTTP que se envíen desde correos electrónicos de AMP dentro de Gmail se alojan a través de proxies y se quitan cookies.

Para autenticar 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. Los tokens de acceso tienen las siguientes características: suministrados y verificados por el remitente del correo electrónico. El remitente usa los tokens para garantizar que solo aquellos con acceso al correo electrónico de AMP pueden realizar las solicitudes que contengan dentro de ese correo electrónico. Los tokens de acceso deben ser seguros a nivel criptográfico y tener un tiempo de alcance limitado. Se incluyen en la URL de la solicitud.

En este ejemplo, se muestra el uso de <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 que cuando uses <amp-form>, coloca tu token de acceso en el archivo action-xhr. URL.

<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 para agregar notas a su cuenta y verlas más tarde. El servicio quiere enviarle un correo electrónico a un usuario, jane@example.com, que incluye una lista de notas que tomaron 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 archivo token de acceso de uso limitado para jane@example.com: A3a4roX9x. El token de acceso es Se incluye en el nombre de 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 la búsqueda del usuario asociado con el token.

Para obtener más información, consulta Tokens de acceso de uso limitado: