为了账号安全,请及时绑定邮箱和手机立即绑定

将Google oauth2与Go一起使用

将Google oauth2与Go一起使用

Go
互换的青春 2021-03-30 17:14:46
我正在使用Go,并且想使用Google API。从文档中,我找到了以下示例:// Your credentials should be obtained from the Google// Developer Console (https://console.developers.google.com).conf := &oauth2.Config{    ClientID:     "YOUR_CLIENT_ID",    ClientSecret: "YOUR_CLIENT_SECRET",    RedirectURL:  "YOUR_REDIRECT_URL",    Scopes: []string{        "https://www.googleapis.com/auth/bigquery",        "https://www.googleapis.com/auth/blogger",    },    Endpoint: google.Endpoint,}// Redirect user to Google's consent page to ask for permission// for the scopes specified above.url := conf.AuthCodeURL("state")fmt.Printf("Visit the URL for the auth dialog: %v", url)// Handle the exchange code to initiate a transport.tok, err := conf.Exchange(oauth2.NoContext, "authorization-code")if err != nil {    log.Fatal(err)}client := conf.Client(oauth2.NoContext, tok)client.Get("...")我有两个问题:什么是redirect_url?在开发者控制台中,我可以获取client_id和,my client_secret但是我不知道是什么redirect_url。在哪里可以找到它?什么是authorization_code?在哪里可以找到它?谢谢
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

OAuth的工作方式是

1)您向供应商(在本例中为Google)注册了应用程序,当您进行注册时,您将收到一个ApplicationID(或clientID)和一个密钥。此ApplicationID是您在Google应用程序世界中的应用程序的唯一ID。

2)当您要求用户通过google进行身份验证时,您将使用ApplicationID和重定向URL将用户重定向到Google身份验证页面。请注意,此处的重定向URL是您的页面。

3)一旦用户对自己进行身份验证并向您的应用程序提供授权,则google会使用代码将用户重定向到您的重定向URL。

4)您可以将此代码视为整个身份验证会话的标识符

5)现在,用户已通过身份验证,但是google如何知道您传递的ApplicationID属于您,并且您不冒充其他人,以确保您必须将在Step3中收到的代码以及Google会验证您的身份,并确保您是该应用程序的所有者,然后为您提供ApplicationId和密钥,然后它将为您提供承载身份验证令牌和刷新身份验证令牌。

6)现在,身份验证和授权已完成,对于API调用,您可以使用承载令牌进行授权,当承载令牌过期时,您可以使用刷新令牌来获取新的承载令牌。

希望这可以帮助


查看完整回答
反对 回复 2021-04-19
  • 1 回答
  • 0 关注
  • 363 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号