Inhaltsverzeichnis
Frageninhalt
Problemumgehung
Heim Backend-Entwicklung Golang Wie erhalte ich das Ablaufdatum vom JWT-Token in Go?

Wie erhalte ich das Ablaufdatum vom JWT-Token in Go?

Feb 14, 2024 pm 12:20 PM
字符串解析

如何从 go 中的 jwt 令牌获取过期日期?

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)
Nach dem Login kopieren

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)
}
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie erhalte ich das Ablaufdatum vom JWT-Token in Go? Wie erhalte ich das Ablaufdatum vom JWT-Token in Go? Feb 14, 2024 pm 12:20 PM

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

So verwenden Sie die Parse-Funktion in der Sprache C So verwenden Sie die Parse-Funktion in der Sprache C Apr 28, 2024 pm 09:12 PM

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.

Erhalten Sie verschachtelte Schlüssel-Wert-Paare von x-www-form-urlencoded-Anfragen im JSON-Format in Golang Erhalten Sie verschachtelte Schlüssel-Wert-Paare von x-www-form-urlencoded-Anfragen im JSON-Format in Golang Feb 09, 2024 pm 03:15 PM

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&notes[key1]=value1&notes[key2]=value2. Ich habe url.parsequery("name= abc&age=12&notes \[key1\]=value1&notes\[key2\]=value2"), aber es gibt {"name": "abc", "age":12,"notes[key1]": "value1", "note

So konvertieren Sie einen String in C++ in einen Int-Wert So konvertieren Sie einen String in C++ in einen Int-Wert May 01, 2024 pm 01:27 PM

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.

Was bedeutet Parsen in Java? Was bedeutet Parsen in Java? Apr 28, 2024 pm 09:09 PM

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.

Leitfaden zur Auflösung allgemeiner Golang-Funktionsadressen Leitfaden zur Auflösung allgemeiner Golang-Funktionsadressen Apr 08, 2024 pm 02:18 PM

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 zur Konvertierung von JSON Unicode in Chinesisch Vertiefendes Verständnis von PHP: Implementierungsmethode zur Konvertierung von JSON Unicode in Chinesisch Mar 05, 2024 pm 02:48 PM

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

So verwenden Sie Reflektion, um Variablenwerte in Golang dynamisch zu ändern So verwenden Sie Reflektion, um Variablenwerte in Golang dynamisch zu ändern May 02, 2024 am 11:09 AM

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.

See all articles