首頁  >  文章  >  後端開發  >  如何在 Go 中驗證 Google 登入 ID 令牌?

如何在 Go 中驗證 Google 登入 ID 令牌?

Susan Sarandon
Susan Sarandon原創
2024-11-07 14:18:02867瀏覽

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:經過驗證的使用者的名字
  • iatat :在時間戳發行的令牌
  • iss:令牌的頒發者(accounts.google.com 或https://accounts.google.com)
  • 區域設定:經過驗證的使用者的區域設定
  • 名稱:經過驗證的使用者的全名
  • 圖片:經過驗證的使用者的個人資料圖片URL
  • sub:經過驗證的使用者的Google 唯一帳戶ID

透過使用此方法,您可以有效地在您的Go 後端專案中驗證Google 登入ID 令牌,提供安全的驗證機制,同時最大限度地減少與使用令牌資訊端點相關的延遲和網路問題。

以上是如何在 Go 中驗證 Google 登入 ID 令牌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn