Was ist ein undurchsichtiger Token?

9

Und was bedeutet es, dass sie in einem "proprietären Format" vorliegen? Ich lese über JWT-Aktualisierungstoken und sie sind undurchsichtige Token, aber ich verstehe den Begriff nicht.

sloneorzeszki
quelle

Antworten:

14

Ein JWT verfügt über lesbaren Inhalt, wie Sie beispielsweise unter https://jwt.io/ sehen können . Jeder kann das Token dekodieren und die darin enthaltenen Informationen lesen. Das Format ist in RFC 7519 dokumentiert .

Ein undurchsichtiges Token hingegen hat ein Format, das nicht von Ihnen gelesen werden soll. Nur der Emittent kennt das Format.

Die Bedeutung des Wortes gibt bereits einen Hinweis:

undurchsichtig / ə (ʊ) ˈpeɪk / Adjektiv

nicht durchschaubar; nicht transparent.

Hier ist ein Zitat von https://auth0.com/docs/tokens :

Undurchsichtige Token: Token in einem proprietären Format, die normalerweise eine Kennung für Informationen im dauerhaften Speicher eines Servers enthalten. Um ein undurchsichtiges Token zu validieren, muss der Empfänger des Tokens den Server anrufen, der das Token ausgestellt hat.

Ein "undurchsichtiges JWT-Aktualisierungstoken" ist ein Widerspruch gemäß der obigen Definition. Was hier eigentlich gemeint ist, ist, dass in einigen JWT-Frameworks nur das Authentifizierungstoken ein JWT ist, aber als Aktualisierungstoken undurchsichtige Token verwenden.

jps
quelle
Vielen Dank. Ich denke, was mich verwirrt hat, ist der Signaturteil, der verschlüsselt ist und an sich nicht wirklich lesbar ist. Ich habe auch hier eine ausgezeichnete Erklärung gefunden: community.apigee.com/questions/21139/jwt-vs-oauth.html
sloneorzeszki
1
@sloneorzeszki In der von Ihnen verknüpften Erklärungopaque token wird an als zufällige Zeichenfolge beschrieben, die nur als Zeiger auf serverseitig gespeicherte Informationen dient. Diese Art von Token wird hier so beschrieben ,reference token dass ein Token opaque tokentatsächlich verschlüsselte Informationen enthalten kann (nur für den ursprünglichen Aussteller lesbar). Es gibt also leicht unterschiedliche Definitionen, deren wir uns bewusst sein sollten.
JPS
0

Hier bedeutet der Begriff "undurchsichtig", dass die Zeichenfolge (die als Token dient) wie eine Referenz (in OOPs) oder ein Zeiger (in C) oder Fremdschlüssel (in relationalen DBs) ist. dh Sie benötigen einen externen Inhalt, um das Problem zu beheben.

Einfach versus zusammengesetzt:

Die Zeichenfolge ist eine "einfache" Zeichenfolge im Gegensatz zu JWS, wobei "zusammengesetzt" ist. Es hat Teile "drin".

Innen gegen Außen:

Sie können eine Nutzlast (mit Ansprüchen usw.) daraus extrahieren, ohne auf einen externen Server oder Speicher "außerhalb" dieser Zeichenfolge zu verweisen.

Da ein undurchsichtiges Token eine einfache Zeichenfolge ist, handelt es sich nur um eine Referenz. Daher wird sein Format natürlich vom Server, der es ausgibt, völlig willkürlich festgelegt (daher der Begriff "proprietäres Format"). Die Token-Zeichenfolge wird zum Zeitpunkt der Erstellung des zugrunde liegenden (bezeichneten) Inhalts bestimmt, dh wenn sie mit dem Inhalt gepaart (zugeordnet) ist, auf den sich dieses Token (als Referenz oder Fremdschlüssel) bezieht.

Sohail Si
quelle