Kurze Antwort
Das BearerAuthentifizierungsschema ist genau das, wonach Sie suchen.
Lange Antwort
Hat es mit Bären zu tun?
Errr ... Nein :)
Nach den Oxford Dictionaries ist hier die Definition des Inhabers :
Inhaber / ˈbɛːrə /
Substantiv
Eine Person oder Sache, die etwas trägt oder hält.
Eine Person, die einen Scheck oder eine andere Zahlungsanweisung vorlegt.
Die erste Definition enthält die folgenden Synonyme: Bote , Agent , Förderer , Abgesandter , Spediteur , Anbieter .
Und hier ist die Definition des Inhaber-Tokens gemäß RFC 6750 :
1.2. Terminologie
Inhaber-Token
Ein Sicherheitstoken mit dem Eigentum, dass jede Partei, die den Token besitzt (ein "Inhaber"), den Token auf jede Weise verwenden kann, die jede andere Partei, die ihn besitzt, kann. Für die Verwendung eines Inhaber-Tokens muss kein Inhaber den Besitz von kryptografischem Schlüsselmaterial nachweisen (Besitznachweis).
Das BearerAuthentifizierungsschema ist in IANA registriert und ursprünglich im RFC 6750 für das OAuth 2.0-Autorisierungsframework definiert. Nichts hindert Sie jedoch daran, das BearerSchema für Zugriffstoken in Anwendungen zu verwenden, die OAuth 2.0 nicht verwenden.
Halten Sie sich so weit wie möglich an die Standards und erstellen Sie keine eigenen Authentifizierungsschemata.
Ein Zugriffstoken muss im AuthorizationAnforderungsheader mithilfe des BearerAuthentifizierungsschemas gesendet werden:
2.1. Header-Feld für Autorisierungsanforderung
Beim Senden des Zugriffstokens in dem Authorizationdurch HTTP / 1.1 definierten Anforderungsheaderfeld verwendet der Client das BearerAuthentifizierungsschema, um das Zugriffstoken zu übertragen.
Beispielsweise:
GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer mF_9.B5f-4.1JqM
[...]
Clients sollten authentifizierte Anforderungen mit einem Inhaber-Token unter Verwendung des AuthorizationAnforderungsheaderfelds mit dem BearerHTTP-Autorisierungsschema stellen. [...]
Im Falle eines ungültigen oder fehlenden Tokens sollte das BearerSchema in den WWW-AuthenticateAntwortheader aufgenommen werden:
3. Das WWW-Authenticate Response Header-Feld
Wenn die Anforderung für geschützte Ressourcen keine Authentifizierungsdaten enthält oder kein Zugriffstoken enthält, das den Zugriff auf die geschützte Ressource ermöglicht, MUSS der Ressourcenserver das HTTP- WWW-AuthenticateAntwortheaderfeld [...] enthalten.
Alle in dieser Spezifikation definierten Herausforderungen MÜSSEN den Wert des Authentifizierungsschemas verwenden Bearer. Diesem Schema MÜSSEN ein oder mehrere auth-param-Werte folgen. [...].
Zum Beispiel als Antwort auf eine geschützte Ressourcenanforderung ohne Authentifizierung:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example"
Und als Antwort auf eine Anforderung einer geschützten Ressource mit einem Authentifizierungsversuch unter Verwendung eines abgelaufenen Zugriffstokens:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example",
error="invalid_token",
error_description="The access token expired"
BearerKeyword stammt. Aber es kommt von OAuth. JWT kann jedoch ohne OAuth verwendet werden. Es ist völlig unabhängig von den OAuth-Spezifikationen.