Le mécanisme des jetons WeChat est souvent imité dans l'environnement de développement. Mais à quoi ça sert ? À mon avis, c'est juste pour empêcher d'autres de demander l'interface au hasard. Je ne peux vraiment pas penser à son utilisation. Par exemple, si une connexion réussie renvoie a b c et md5 (a+b+c+token), alors la prochaine fois que l'interface de requête apportera ce paramètre abc, il sera cohérent avec le jeton. caractère de vérification du cryptage sur mon serveur. J'ai l'impression que ce n'est pas très utile. S'il vous plaît, dites-moi le secret
.
Dans la situation que vous avez mentionnée, le jeton généré est généralement réversible et peut être auto-vérifié, ce qui signifie que l'algorithme MD5 n'est généralement pas utilisé, mais peut être converti de manière inverse en données régulières, puis en contenu de différentes parties du jeton régulier. les données sont cohérentes. Ainsi, si l'utilisateur obtient au hasard une chaîne de jeton avec le même format que le jeton, le serveur signalera directement une erreur sans renvoyer aucune donnée à l'exception des informations d'erreur. Cela empêche dans une certaine mesure les robots d'exploration de récupérer les données du site Web et réduit également la pression sur le serveur (car si les données sont interrogées, qu'il s'agisse ou non d'une demande valide, la pression de la requête sera très élevée). Étant donné que votre méthode de génération de jetons n’est pas publique, il sera difficile pour les auteurs de robots de déchiffrer votre méthode de construction de jetons.
En plus de ce que vous avez mentionné, il peut également être utilisé comme connexion utilisateur. Autrement dit, lorsque l'utilisateur se connecte, un jeton est renvoyé et enregistré sur le front-end. Avant l'expiration de ce jeton, le frontal peut toujours utiliser ce jeton comme jeton de connexion de l'utilisateur. Chaque fois que les données du serveur sont demandées, les informations utilisateur correspondant au jeton dans la base de données seront récupérées via ce jeton. En d'autres termes, le jeton à ce moment est égal à l'autorisation donnée à l'utilisateur connecté.
Le token joue à ce moment en fait le rôle de session.