ホームページ >バックエンド開発 >Golang >Go で Google サインイン ID トークンを確認する方法は?

Go で Google サインイン ID トークンを確認する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-07 14:18:02993ブラウズ

How to Verify Google Sign-In ID Tokens in Go?

Go での Google サインイン ID トークンの検証

Go バックエンド サーバー プロジェクトを使用して Google サインイン ID トークンを検証するというクエストの場合、Java および Python の Google API クライアント ライブラリの例と同等の関数を見つけるという課題に遭遇しました。ライブラリにはさまざまな言語の実装が含まれていますが、Go ドキュメントでは ID トークン検証のための特定の関数が省略されているようです。

頼りになるソリューション

幸いなことに、このソリューションはGo は単純かつ簡潔です。 Go 用の公式 Google API クライアント ライブラリを使用します。

go get google.golang.org/api/idtoken

ライブラリがインストールされたら、次のコード スニペットによりワンライナー検証が行われます。

payload, err := idtoken.Validate(context.Background(), tokenString, audience)
if err != nil {
    panic(err)
}
fmt.Print(payload.Claims)

tokenString を実際の値に置き換えます。検証する ID トークン、およびアプリケーションのクライアント ID を使用します。

サンプル出力

検証が成功すると、次のクレームを含むペイロード オブジェクトを受け取ります。 :

  • aud: Web アプリケーションのクライアント ID
  • azp: Android アプリケーションのクライアント ID
  • email: 認証されたユーザーの電子メール
  • email_verified: Trueまたは false
  • exp: トークンの有効期限タイムスタンプ
  • family_name: 認証されたユーザーの姓
  • given_name: 認証されたユーザーの名
  • iat: タイムスタンプに発行されたトークン
  • iss: トークンの発行者 (accounts.google.com または https://accounts.google.com)
  • locale: 認証されたユーザーのロケール
  • name:認証済みユーザーのフルネーム
  • picture: 認証済みユーザーのプロフィール写真URL
  • sub: 認証済みユーザーのGoogle固有アカウントID

この方法を活用することで、効率よくGo バックエンド プロジェクトで Google サインイン ID トークンを検証し、安全な認証メカニズムを提供しながら、トークン情報エンドポイントの使用に関連する遅延とネットワークの問題を最小限に抑えます。

以上がGo で Google サインイン ID トークンを確認する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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