Authentification des requêtes sur une page AMP pour les e-mails

Le contenu d'e-mail personnalisé dynamique nécessite souvent une authentification de l'utilisateur. Toutefois, pour protéger les données utilisateur, toutes les requêtes HTTP effectuées à partir d'e-mails AMP dans Gmail sont transmises par proxy et supprimées des cookies.

Pour authentifier les demandes effectuées à partir d'e-mails AMP, vous pouvez utiliser des jetons d'accès.

Jetons d'accès

Vous pouvez utiliser des jetons d'accès pour authentifier l'utilisateur. Les jetons d'accès sont fournis et vérifiés par l'expéditeur de l'e-mail. L'expéditeur utilise les jetons pour s'assurer que seules les personnes ayant accès à l'e-mail AMP peuvent effectuer les requêtes qu'il contient. Les jetons d'accès doivent être sécurisés de manière cryptographique, et avoir une portée limitée dans le temps. Ils sont inclus dans l'URL de la requête.

Cet exemple montre comment utiliser <amp-list> pour afficher des données authentifiées:

<amp-list src="https://example.com/endpoint?token=REPLACE_WITH_YOUR_ACCESS_TOKEN"
  height="300">
  <template type="amp-mustache">
    ...
  </template>
</amp-list>

De même, lorsque vous utilisez <amp-form>, placez votre jeton d'accès dans l'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>

Exemple

L'exemple suivant considère un service de prise de notes hypothétique qui permet aux utilisateurs connectés d'ajouter des notes à leur compte et de les consulter ultérieurement. Le service souhaite envoyer à un utilisateur, jane@example.com, un e-mail contenant une liste des notes qu'il a déjà rédigées. La liste des notes de l'utilisateur actuel est disponible au format JSON sur le point de terminaison https://example.com/personal-notes.

Avant d'envoyer l'e-mail, le service génère un jeton d'accès à usage limité sécurisé de manière cryptographique pour jane@example.com: A3a4roX9x. Le jeton d'accès est inclus dans le nom de champ exampletoken dans la requête d'URL:

<amp-list src="https://example.com/personal-notes?exampletoken=A3a4roX9x" height="300">
  <template type="amp-mustache">
    <p>{{note}}</p>
  </template>
</amp-list>

Le point de terminaison https://example.com/personal-notes est chargé de valider le paramètre exampletoken et de trouver l'utilisateur associé au jeton.

Pour en savoir plus, consultez la section Jetons d'accès à utilisation limitée.