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

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

Pour authentifier les demandes effectuées à partir des 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 des e-mails. L'expéditeur utilise les jetons pour s'assurer que seuls les utilisateurs ayant accès aux e-mails AMP peuvent effectuer les requêtes contenues dans ce dernier. Les jetons d'accès doivent être sécurisés de manière cryptographique, et avoir une durée et un champ d'application limités. 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 présente 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 e-mail à un utilisateur, jane@example.com, comprenant une liste des notes qu'il a précédemment prises. La liste des notes de l'utilisateur actuel est disponible au format JSON au 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 à l'intérieur de 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 à usage limité.