我在React中有自定义Google登录按钮(遵循品牌推广指南),我需要在Web应用中实现该按钮。 Android应用程序已经使用BE实现了Google登录,并且需要将授权代码发送到BE。我似乎无法访问授权代码(我可以很容易地获得访问令牌,id和id_token)。
我这样初始化:
static googleInit (googleSignInID) {
gapi.load('auth2', () => {
ThirdPartyLogInApi.auth2 = gapi.auth2.init({
// Retrieve the singleton for the GoogleAuth library and set up the client.
client_id: `${googleSignInID}.apps.googleusercontent.com`,
})
})
}
在我的React组件中,我将一个单击处理程序附加到React引用(正如我在其他stackoverflow问题中看到的那样)。
componentDidMount () {
// element, options, success, failure
ThirdPartyLogInApi.auth2.attachClickHandler(
this.button,
{},
this.onGoogleSuccess,
this.setProcessingToFalse
);
}
在成功回调(this.onGoogleSuccess)中,我可以调用googleUser.getBasicProfile()获取用户信息,并调用googleUser.getAuthResponse(true)获取id_token和access_token,但我也需要授权码。
我的智慧结束了谷歌关于此的文档 - 有人能指出我正确的方向吗?我不想切换整个身份验证流程以使用gapi.auth2.authorize,因为我确实需要用户信息。
由于
编辑:甚至可以访问授权码吗?谷歌似乎抽象了这一步,并立即返回id_token。我只需要看起来像这样的东西: 4 / RQFWJLGd3sJQrgxuRaguzJy2yiUV4fAqVGftRSUYuqc