Maison >développement back-end >Golang >Comment décoder les jetons JWT dans Go en utilisant dgrijalva/jwt-go ?

Comment décoder les jetons JWT dans Go en utilisant dgrijalva/jwt-go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-10 06:05:09677parcourir

How to Decode JWT Tokens in Go using dgrijalva/jwt-go?

Décodage des jetons JWT avec dgrijalva/jwt-go dans Go

Dans Go, le décodage des jetons JWT peut être réalisé à l'aide de dgrijalva/jwt- allez à la bibliothèque. Voici une solution simple :

La fonction jwt.ParseWithClaims accepte une interface jwt.Claims comme deuxième argument. Au lieu d'utiliser des revendications basées sur une structure personnalisée, la bibliothèque fournit le type jwt.MapClaims, qui représente une représentation cartographique des revendications.

Pour décoder un jeton, vous pouvez utiliser le code suivant :

tokenString := "<YOUR TOKEN STRING>"

claims := jwt.MapClaims{}
token, err := jwt.ParseWithClaims(tokenString, claims, func(token *jwt.Token) (interface{}, error) {
    return []byte("<YOUR VERIFICATION KEY>"), nil
})

// Handle any errors...

// Decode claims into a map
for key, val := range claims {
    fmt.Printf("Key: %v, value: %v\n", key, val)
}

Dans ce code :

  • tokenString contient le jeton JWT reçu du client.
  • claims est une carte contenant les revendications décodées.
  • ParseWithClaims analyse le jeton et remplit la carte des revendications avec les informations décodées.
  • func définit la clé de vérification utilisée pour assurez-vous que le message est authentique et n'a pas été falsifié.
  • fmt.Printf imprime les clés et valeurs des revendications décodées.

En suivant ces étapes, vous pouvez décoder avec succès les jetons JWT dans votre application Go à l'aide de la bibliothèque dgrijalva/jwt-go.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn