ホームページ >バックエンド開発 >Golang >dgrijalva/jwt-go ライブラリを使用して Go で JWT トークンを効率的にデコードするにはどうすればよいですか?

dgrijalva/jwt-go ライブラリを使用して Go で JWT トークンを効率的にデコードするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-08 16:02:11355ブラウズ

How Can I Efficiently Decode JWT Tokens in Go Using the dgrijalva/jwt-go Library?

Go で JWT トークンをデコードする

Q: dgrijalva/jwt-go を使用して JWT トークンをデコードする

あなたは JWT を受け取る Go アプリケーションを開発していますクライアントからのトークン。ユーザー名などの情報を取得するには、これらのトークンをデコードする必要があります。人気の dgrijalva/jwt-go ライブラリを使用していますが、これを効率的に行う方法がわかりません。

A: トークンをマップまたは JSON にデコードする

dgrijalva/jwt-go ライブラリは、JWT トークンをマップまたは JSON にデコードする簡単な方法を提供します。これを実現するには、次の手順に従います。

  • 「dgrijalva/jwt-go」ライブラリをインポートします。
  • タイプ「jwt.MapClaims」の「claims」変数を作成します。
  • 「jwt.ParseWithClaims()」関数を使用して解析しますトークン。 2 番目の引数をクレーム変数に設定します。
  • 検証キーを提供するコールバック関数を 3 番目の引数として定義します。
  • 解析が成功した後、クレームを反復処理することで、デコードされたクレームにアクセスできます。変数をマップとして使用します。

コード例は次のとおりです。スニペット:

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
})

if err != nil {
    // Handle error
}

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

このコードは、JWT トークンを解析し、検証キーを使用して検証し、ペイロードをマップにデコードします。その後、マップを反復処理することでクレームにアクセスできます。

以上がdgrijalva/jwt-go ライブラリを使用して Go で JWT トークンを効率的にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。