Les jetons d'accès à utilisation limitée offrent une protection contre le spoofing des requêtes et les attaques par rejeu. Ils garantissent que l'action est effectuée par l'utilisateur auquel le message a été envoyé. La protection est assurée en ajoutant un paramètre de jeton unique aux paramètres de la requête et en le vérifiant lorsque l'action est appelée.
Le paramètre de jeton doit être généré sous la forme d'une clé ne pouvant être utilisée que pour une action et un utilisateur spécifiques. Avant d'effectuer l'action demandée, vous devez vérifier que le jeton est valide et qu'il correspond à celui que vous avez généré pour l'utilisateur. Si le jeton correspond, l'action peut être effectuée et le jeton n'est plus valide pour de futures requêtes.
Les jetons d'accès doivent être envoyés à l'utilisateur dans la propriété url
de HttpActionHandler. Par exemple, si votre application traite les demandes d'approbation au niveau de http://www.example.com/approve?requestId=123
, vous pouvez envisager d'y inclure un paramètre accessToken
supplémentaire et d'écouter les requêtes envoyées à http://www.example.com/approve?requestId=123&accessToken=xyz
.
La combinaison requestId=123
et accessToken=xyz
est celle que vous devez générer à l'avance, en veillant à ce que accessToken
ne puisse pas être déduit de requestId
. Toute demande d'approbation avec requestId=123
et sans accessToken
ou avec un accessToken
différent de xyz
doit être refusée. Une fois la demande traitée, toute demande ultérieure avec le même ID et le même jeton d'accès devra également être rejetée.