Google Rest Apis 和 google 登录
Google Rest Apis and google sign in
我已经成功地使用 google 登录库创建了一个 google 登录按钮,请求额外的范围但是我无法弄清楚如何将其转换为 API请求。我正在使用 googleUser.getAuthResponse().id_token
并获得一个令牌,但我不确定如何将其转换为访问令牌以与我的 API 请求一起发送?
我几乎只使用了文档中的内容:
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
document.getElementById("acc").src = profile.getImageUrl();
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
var oAuthToken = googleUser.getAuthResponse().id_token
}
不接受 Google 登录返回的 ID 令牌作为任何 Google API 的凭据。它仅供 passing to your backend 使用,因此您可以在那里安全地识别用户。
您需要访问令牌才能调用 Google APIs。可以使用 googleUser.getAuthResponse(true).access_token
在 onSignIn 方法中检索令牌。仅当您请求的范围不是基本配置文件范围时才会出现,无论如何您都需要 API 访问权限。
Google 登录建立在 GAPI 之上。用户登录后,就 GAPI 而言,您可以检查 gapi.auth2.getAuthInstance().isSignedIn.get()
以验证用户是否登录。此时,使用 GAPI to call Google APIs 会将凭据附加到对 Google 的服务器的请求。
我已经成功地使用 google 登录库创建了一个 google 登录按钮,请求额外的范围但是我无法弄清楚如何将其转换为 API请求。我正在使用 googleUser.getAuthResponse().id_token
并获得一个令牌,但我不确定如何将其转换为访问令牌以与我的 API 请求一起发送?
我几乎只使用了文档中的内容:
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
document.getElementById("acc").src = profile.getImageUrl();
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
var oAuthToken = googleUser.getAuthResponse().id_token
}
不接受 Google 登录返回的 ID 令牌作为任何 Google API 的凭据。它仅供 passing to your backend 使用,因此您可以在那里安全地识别用户。
您需要访问令牌才能调用 Google APIs。可以使用 googleUser.getAuthResponse(true).access_token
在 onSignIn 方法中检索令牌。仅当您请求的范围不是基本配置文件范围时才会出现,无论如何您都需要 API 访问权限。
Google 登录建立在 GAPI 之上。用户登录后,就 GAPI 而言,您可以检查 gapi.auth2.getAuthInstance().isSignedIn.get()
以验证用户是否登录。此时,使用 GAPI to call Google APIs 会将凭据附加到对 Google 的服务器的请求。