Zweck des Auth-Schemas in HTTP Authorization header - ruby-on-rails, Authentifizierung, Autorisierung, jwt

Ich habe eine Frage bezüglich der auth-scheme. Ich stolpere über JSON Web Tokens und eine der offiziellen Seiten:

https://jwt.io/introduction/

Sie benutzen

Authorization: Bearer <token>

In der Vergangenheit kenne ich das Authorization: JWT <token> und hatte bis heute angenommen, dass das richtig war, habe ich die offizielle JWT Webseite gelesen und sie benutzt Bearer <token> stattdessen.

Ich habe das Knock Rails Juwel getestet: https://github.com/nsarno/knock und mit dieser Bibliothek konnte ich eine Postman-Anfrage an meine Rails API mit zufälligem Auth-Schema machen:

Beispiel 1

Ich könnte sogar das Auth-Schema komplett loswerden:

Beispiel 2

Wenn ich mein JWT-Token aus dem Authorization-Header entferne, gibt es 401 Unauthorized response wie erwartet zurück, also weiß ich, dass es funktioniert?

Beispiel 3

Also fing ich an zu denken ... gibt es einen Zweck für das Auth-Schema?

Dauert eine Bibliothek oder ein Webserver der korrekten Verwendung des Authentifizierungsschemas im Kopf der Autorisierung?

Ich bin bei meiner Suche nach Antworten auf diesen Stackoverflow-Post gestoßen:

Benutzerdefinierter HTTP-Autorisierungs-Header

Es zeigte das offizielle Format ist:

credentials = auth-scheme #auth-param

Das gegebene Beispiel war noch bizarrer:

Authorization: FIRE-TOKEN apikey="0PN5J17HBGZHT7JJ3X82", hash="frJIUN8DYpKDtOLCwo//yllqDzg="

Ich weiß nicht, ob dies eine Programmierfrage ist. Ich kann blind einer Bibliothek von Dritten folgen.

Was ist der Zweck des Auth-Schemas?

Ich bin kein Kryptographie- / Computersicherheitsexperte.

Vielleicht kann jemand etwas Licht auf das Thema werfen (oder vielleicht kein Thema?)?

Antworten:

1 für die Antwort № 1

Das Autorisierungsschema ist nur ein Hinweis für den Server, welche Art von Anmeldeinformationen folgen. Ein Client kann verwenden Basic planen

Authorization: Basic <base64(username:password)>

Oder Träger planen

Authorization: Bearer <base64(JWT)>

Oder der Falke planen

Authorization: Hawk id="...", ts="...", nonce="...", ext="...", mac="..."

Oder irgendein anderes Schema, auf das es sich mit dem Server einigen kann.


Am beliebtesten