Le contenu d'e-mails personnalisés dynamiques nécessite souvent l'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 un proxy et les cookies sont supprimés.
Pour authentifier les requêtes 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 cryptographiquement sécurisés et limités dans le temps et en termes de portée. 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 concerne 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, qui inclut une liste de notes qu'il a prises précédemment. La liste des notes de l'utilisateur actuel est disponible au point de terminaison https://example.com/personal-notes au format JSON.
Avant d'envoyer l'e-mail, le service génère un jeton d'accès à usage limité et sécurisé par chiffrement pour jane@example.com: A3a4roX9x. Le jeton d'accès est inclus dans le nom du champ exampletoken à l'intérieur de la requête 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 Jetons d'accès à usage limité.