Wie man richtig mit Bearer-Token?
Mache ich eine Berechtigung in PHP
, und stieß ich auf diese Lautende Regelung der Weitergabe von JWT Token, ich lese RFC-6750. Ich habe folgenden Zweifel:
- Wie ist diese Verbesserung der Sicherheit?
- Die server Antworten dem client mit einer JWT token in seinem Körper nach einer erfolgreichen Autorisierung und login, und jetzt, wenn der client eine andere Anfrage, ich bin nicht klar, wie man eigentlich tun, will ich senden-token vom client im Authorization-header in der Anfrage, so, jetzt sollte ich nur Präfix "Träger", um die token, die ich erhielt in der vorherigen Antwort vom server und Wenn ja, dann server über den Empfang der Authorization-header, sollte nur split die Zeichenfolge mit Leerzeichen, und nehmen Sie den zweiten Wert aus dem array erhalten und dann entschlüsseln? Zum Beispiel
Authorization: Bearer fdbghfbfgbjhg_something
, wie ist die server sollen um dies zu umgehen,decodeFunc(explode(" ", $this->getRequest()->getHeader("Authorization"))[1])
?
InformationsquelleAutor xyz | 2016-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
1.Die Verbesserung der Sicherheit, weil wenn token wird nicht gesendet im header geschickt, in der url wird protokolliert, indem die Netzwerk-system, das server-Protokoll ....
2.Eine gute Funktion zu bekommen Bearer-Token
$headers
bin ich wieder, Es wird, sagen wir:Bearer <space> <AuthToken>
so jetzt ist es richtig zum explodieren der Schnur durch den Raum und nehmen die tatsächlichen token, oder die gesamte Zeichenkette(Bearer <space> <token>)
sein soll, als ganzes genommen?<AuthToken>
das ist richtig. Sie kann explodieren durch den Raum.Okay, danke, werde weiter mit ihm.
Ich verpasste eine Funktion. XD
Ich würde einfach ein substr (), um die tatsächliche token aber nicht der Träger. Sollte wesentlich schneller als preg_match().
InformationsquelleAutor Ngô Văn Thao
Ich würde empfehlen die Verwendung der folgenden RegEx zu überprüfen, wenn Sie eine gültige jwt-token:
zugreifen auch mit matches[1].
Dies ist die Struktur einer JWT-Token finden Sie unter: https://jwt.io/
Regex verwendet wird, Muster zu finden. Imo, die Sie verwenden können, regex zum Parsen der jwt token, das ist in der Form " Träger <token>'. Ich glaube, dies ist der beste Ansatz, der mir einfällt, wenn es um die token-Validierung. Die akzeptierte Antwort, die auch Regex verwendet. Ich weiß nicht, warum ist das unten gestimmt, auch wenn es eine bessere regex.
Dies ist kein guter Ansatz überhaupt. JWT Token signiert werden kann mit dem private - /public-Zertifikate, die regex nicht vergleichen.
InformationsquelleAutor Unkn0wn0x