Comment utiliser correctement le Porteur de jetons?
Je suis en train de faire un système d'autorisation dans PHP
, et je suis tombé sur ce Porteur schéma de passage de JWT jetons, j'ai lu RFC 6750. J'ai la suite de doutes:
- Comment est-ce l'amélioration de la sécurité?
- Les réponses du serveur au client une JWT jeton dans son corps après le succès de l'autorisation et de la connexion, et maintenant, lorsque le client fait une autre demande, je ne suis pas clair comment le faire, je veux envoyer jeton de client dans l'en-tête d'Autorisation dans la demande, alors maintenant, devrais-je simplement le préfixe "Porteur" pour le jeton que j'ai reçu dans la précédente réponse du serveur et Si oui, le serveur sur réception de l'Autorisation d'en-tête, faut juste diviser la chaîne avec de l'espace, et prendre la deuxième valeur de la matrice, puis de le décoder? Par exemple
Authorization: Bearer fdbghfbfgbjhg_something
, comment le serveur est censé s'occuper de ce,decodeFunc(explode(" ", $this->getRequest()->getHeader("Authorization"))[1])
?
OriginalL'auteur xyz | 2016-11-14
Vous devez vous connecter pour publier un commentaire.
1.L'amélioration de la sécurité, car si le jeton n'est pas envoyé dans l'en-tête qui l'a envoyé dans l'url, il sera enregistré par le système de réseau, le journal du serveur ....
2.Une bonne fonction pour obtenir le Porteur de jetons
$headers
je suis de retour, Elle va avoir, dire:Bearer <space> <AuthToken>
alors maintenant, est-il juste de juste exploser la chaîne par l'espace et prendre la jeton, ou la totalité de la chaîne de(Bearer <space> <token>)
est censé être pris comme un tout?<AuthToken>
qui de droit. Vous pouvez faire exploser par l'espace.Ok, merci, aller de l'avant avec elle.
J'ai raté une fonction. XD
Je venais d'utiliser un substr() pour obtenir la réelle jeton mais pas le porteur. Devrait être beaucoup plus rapide que preg_match().
OriginalL'auteur Ngô Văn Thao
Je vous recommandons d'utiliser les RegEx pour vérifier si il est valide jwt-jeton:
et accéder également avec des matches[1].
C'est la structure d'un JWT-Jeton, voir: https://jwt.io/
Regex est utilisé pour trouver des modèles. Omi, vous pouvez utiliser des regex pour analyser les jwt jeton qui est dans le format " Porteur <jeton>'. Je crois que c'est la meilleure approche que je pense, quand il s'agit de jeton de validation. La accepté de répondre aussi utilise des Regex. Je ne sais pas pourquoi c'est voté, même si il a une meilleure regex.
Ce n'est pas une bonne approche. JWT jetons peut être signé avec privé/public, des certificats-regex ne pas vérifier.
OriginalL'auteur Unkn0wn0x