Jetons d'accès à utilisation limitée

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.