首页 > 后端开发 > Golang > 如何在 Go 中验证 Google 登录 ID 令牌?

如何在 Go 中验证 Google 登录 ID 令牌?

DDD
发布: 2024-11-06 20:34:02
原创
501 人浏览过

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

在 Go 中验证 Google 登录 ID 令牌

验证 Google 登录 ID 令牌的真实性是 Go 后端服务器的关键步骤。本文使用 Google API 客户端库为此任务提供了一个简单的解决方案,并展示了其验证 ID 令牌的简单性。

Google API 客户端库

使用 Google API 客户端库验证 ID 令牌对于 Go,您可以按照以下步骤操作:

  1. 安装库:

    go get google.golang.org/api/idtoken
    登录后复制
  2. 导入库并使用验证功能:

    import (
     "context"
     "fmt"
    
     idtoken "google.golang.org/api/idtoken/v2"
    )
    
    func main() {
     ctx := context.Background()
     tokenString := "<Your ID token>"
     audience := "<Your web application client ID>"
    
     payload, err := idtoken.Validate(ctx, tokenString, audience)
     if err != nil {
         panic(err)
     }
    
     fmt.Print(payload.Claims)
    }
    登录后复制

示例输出

执行此代码将生成类似于以下内容的输出:

map[
    aud:<Your web application client id>
    azp:<Your android application client id>
    email:<Authenticated user email> 
    email_verified:true
    exp:<expire at>
    family_name:<Authenticated user lastname>
    given_name:<Authenticated user firstname>
    iat:<issued at>
    iss: <accounts.google.com or https://accounts.google.com>
    locale:en
    name:<Authenticated User fullname>
    picture:<Authenticated User Photo URL>
    sub: <Google Account ID [Use this to identify a id uniquely]>
]
登录后复制

此输出提供有关经过身份验证的用户的详细信息,包括他们的电子邮件、姓名、Google 帐户 ID 等。通过使用 Go 版 Google API 客户端库有效验证 ID 令牌,您可以增强身份验证过程的安全性和可靠性。

以上是如何在 Go 中验证 Google 登录 ID 令牌?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板