Wie erhalte ich das Ablaufdatum vom JWT-Token in Go?
In der Go-Sprache ist das JWT-Token ein gängiger Authentifizierungsmechanismus. Um das Ablaufdatum des JWT-Tokens abzurufen, können wir die Drittanbieterbibliothek „github.com/dgrijalva/jwt-go“ verwenden, um die Nutzlast des Tokens zu analysieren. Zuerst müssen wir die Token-Zeichenfolge in ein jwt.Token-Objekt analysieren und dann können wir das Ablaufdatum abrufen, indem wir auf das Feld Token.Claims["exp"] zugreifen. Der Wert dieses Feldes ist ein Unix-Zeitstempel, der mit der Funktion time.Unix in einen Zeittyp konvertiert werden kann. Auf diese Weise können wir leicht das Ablaufdatum des JWT-Tokens ermitteln.
Frageninhalt
Ich habe einen JWT-Token und kann den entschlüsselten Token auf der https://jwt.io/
-Website sehen. Es ist nicht erforderlich, dass ich irgendwelche Geheimnisse oder Ansprüche aufstelle. Deshalb suche ich nach einer Möglichkeit, den Token zu entschlüsseln, um das Ablaufdatum zu ermitteln, ohne ein Geheimnis preiszugeben.
Ich verwende die Bibliothek ngopkg.in/square/go-jose.v2/jwt
und unten ist mein Code:
token, err := jwt.ParseSigned(jwtToken)
Rückgabewert token
Es gibt ein Header-Feld, das die Schlüssel-ID und den Algorithmus enthält, mir aber nicht das Ablaufdatum anzeigt.
Ich habe dieses Thema durchsucht und die Leute sagten, ich solle github.com/auth0/go-jwt-middleware/v2/validator
库,但它需要设置密钥/秘密。解析令牌的过期日期是否需要秘密。 网站https://jwt.io/
Woher weiß ich das Ablaufdatum?
Problemumgehung
Mit dem Beispiel-JWT-Token von jwt.io Dieser Code analysiert und ruft Ansprüche ohne verifizierte Signaturen ab:
func main() { raw := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" t, err := jwt.ParseSigned(raw) if err != nil { panic(err) } var claims map[string]any if err := t.UnsafeClaimsWithoutVerification(&claims); err != nil { panic(err) } fmt.Println(claims) }
In diesem Beispiel sollte die Ablaufzeit als claims
映射中的字段之一。要检索它,请使用 exp, ok := claims["expire"]
erscheinen (abhängig vom genauen Namen).
Das obige ist der detaillierte Inhalt vonWie erhalte ich das Ablaufdatum vom JWT-Token in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Ich habe einen JWT-Token und kann den entschlüsselten Token auf der Website https://jwt.io/ sehen. Es ist nicht erforderlich, dass ich irgendwelche Geheimnisse oder Ansprüche aufstelle. Deshalb suche ich nach einer Möglichkeit, den Token zu entschlüsseln, um das Ablaufdatum zu ermitteln, ohne ein Geheimnis preiszugeben. Ich verwende die Bibliothek ngopkg.in/square/go-jose.v2/jwt, unten ist mein Code: token,err:=jwt.ParseSigned(jwtToken) Rückgabewert-Token hat ein Header-Feld, das Schlüssel-ID, Algorithmus usw. enthält Es gibt mir kein Ablaufdatum. Ich habe dieses Thema durchsucht und die Leute sagten, ich solle github.com/a verwenden

Die Parse-Funktion analysiert eine Zeichenfolge und wandelt sie in eine durch ein Trennzeichen getrennte Liste von Token um. Schritte: 1. Suchen Sie nach dem ersten Nicht-Trennzeichen vom Anfang der Zeichenfolge. 2. Setzen Sie die Suche fort, bis Sie auf ein Trennzeichen stoßen. 3. Speichern Sie das Token im Token-Array 1-3 bis zum Ende der Zeichenfolge; 5. Fügen Sie am Ende des Arrays einen Zeiger auf NULL hinzu, um das Ende des Arrays anzuzeigen.

Ich habe einen Anwendungsfall, in dem wir einen verschachtelten Schlüsselwert in einem x-www-form-urlencoded-Körper wie unten erhalten: name=abc&age=12¬es[key1]=value1¬es[key2]=value2. Ich habe url.parsequery("name= abc&age=12¬es \[key1\]=value1¬es\[key2\]=value2"), aber es gibt {"name": "abc", "age":12,"notes[key1]": "value1", "note

In C++ gibt es zwei Möglichkeiten, einen String in einen Int zu konvertieren: mit der Funktion sto i(), die den String direkt empfängt und eine Ganzzahl zurückgibt. Verwenden Sie die Klasse isringstream, um die Zeichenfolge in einen Eingabestream zu analysieren und die Ganzzahlen zu extrahieren. Die gewählte Methode hängt vom String-Format ab: stoi() ist prägnanter, wenn das Format eindeutig ist und keine nicht numerischen Zeichen enthält; isstringstream ist flexibler, wenn der String möglicherweise nicht numerische Zeichen enthält oder eine benutzerdefinierte Konvertierung erfordert.

Unter Parsen versteht man in Java den Prozess der Konvertierung einer Zeichenfolge oder einer anderen Darstellung in einen bestimmten Typ oder ein bestimmtes Objekt. Zu den gängigen Anwendungen gehören die Konvertierung von Zeichenfolgen in numerische Typen, Datums-/Uhrzeitobjekte und JSON-Objekte sowie das Extrahieren von Daten aus XML-Dokumenten. Analysieren Sie über integrierte Methoden, Formatierungsklassen oder Bibliotheken von Drittanbietern.

Zu den Schlüsselfunktionen zum Parsen von Adressen in der Go-Sprache gehören: net.ParseIP(): IPv4- oder IPv6-Adressen analysieren. net.ParseCIDR(): CIDR-Tags analysieren. net.ResolveIPAddr(): Hostnamen oder IP-Adresse in IP-Adresse auflösen. net.ResolveTCPAdr(): Hostnamen und Port in TCP-Adresse auflösen. net.ResolveUDPAddr(): Hostnamen und Port in UDP-Adresse auflösen.

Vertiefendes Verständnis von PHP: Implementierungsmethode zum Konvertieren von JSONUnicode in Chinesisch Während der Entwicklung stoßen wir häufig auf Situationen, in denen wir JSON-Daten verarbeiten müssen, und die Unicode-Codierung in JSON verursacht in einigen Szenarien einige Probleme, insbesondere wenn Unicode konvertiert werden muss Bei der Kodierung wird in chinesische Zeichen konvertiert. In PHP gibt es einige Methoden, die uns bei der Umsetzung dieses Konvertierungsprozesses helfen können. Im Folgenden wird eine allgemeine Methode vorgestellt und es werden spezifische Codebeispiele bereitgestellt. Lassen Sie uns zunächst das Un in JSON verstehen

Mit der Go-Sprachreflexion können Sie Variablenwerte zur Laufzeit bearbeiten, einschließlich der Änderung boolescher Werte, Ganzzahlen, Gleitkommazahlen und Zeichenfolgen. Indem Sie den Wert einer Variablen abrufen, können Sie die Methoden SetBool, SetInt, SetFloat und SetString aufrufen, um ihn zu ändern. Sie können beispielsweise einen JSON-String in eine Struktur analysieren und dann mithilfe von Reflection die Werte der Strukturfelder ändern. Es ist zu beachten, dass der Reflexionsvorgang langsam ist und nicht veränderbare Felder nicht geändert werden können. Beim Ändern des Strukturfeldwerts werden die zugehörigen Felder möglicherweise nicht automatisch aktualisiert.
