google singnin中requestIdToken和requestServerAuthCode之间有什么区别

Gul*_*ngh 11 android google-api

当我们从Android设备用google api登录时,我无法区分这两个:requestIdToken和requestServerAuthCode.

我的要求是为用户提供登录android设备的选项,并在登录后同步数据到我的服务器.服务器需要验证来自Android设备的登录用户请求.我想用"requestIdToken".在服务器端,我使用谷歌客户端库从requestIdToken获取用户信息.

Tim*_*Tim 5

requestIdToken (String serverClientId)
Run Code Online (Sandbox Code Playgroud)

指定请求经过身份验证的用户的 ID 令牌。请求 ID 令牌需要指定服务器客户端 ID。

并且有

requestServerAuthCode (String serverClientId)
Run Code Online (Sandbox Code Playgroud)

指定请求离线访问。请求离线访问需要指定服务器客户端ID。

使用此选项时,不需要使用 requestIdToken(String)。当您的服务器将代码交换为令牌时,ID 令牌将一起返回(只要您使用 requestEmail() 或 requestProfile() 以及您的配置)。

第一次检索代码时,将自动授予刷新令牌。后续请求将仅返回可交换访问令牌的代码。

来自文档

正如您可以在此处阅读的,requestServerAuthCode()专门用于请求离线访问。如果你不需要它,use requestIdToken()