我试图在我的网站中集成谷歌登录,并且我使用 firebase 进行身份验证,之后我授权用户访问他们的谷歌驱动器。
并且在访问了他们的Google drives
后,我希望该页面重定向到另一个页面。(localhost:8080/afterlogin)
,它将显示在哪里" 欢迎&#34 ;
但是用户没有到达所需的页面,我在开发者控制台中添加了确切的redierct_uri但没有帮助。
这是我的初始化auth对象的代码。
gapi.load('auth2', function () {
// Retrieve the singleton for the GoogleAuth library and set up the client.
auth2 = gapi.auth2.init({
client_id: 'MYID.apps.googleusercontent.com',
cookiepolicy: 'single_host_origin',
redirect_uri: 'http://localhost:8080/afterlogin'
// Request scopes in addition to 'profile' and 'email'
//scope: 'additional_scope'
});
我使用javascript并且我在javascript api不使用 redirect_uris 的文档中阅读。
但是在文档here
中声明我们可以使用gapi.auth2.ClientConfig
代替gapi.auth2.init
添加redirect_uris。
但是,使用gapi.auth2.ClientConfig
代替gapi.auth2.init
会给我和错误。所以我在后一个中添加了redirect_uri
,如上面的代码所示。也许这就是为什么它不起作用?
或者我在使用gapi.auth2.ClientConfig
?
任何猜测?
答案 0 :(得分:2)
文档说您需要使用 ux_mode ='重定向' 覆盖默认的 redirect_uri 。有时谷歌的文档要比它需要的复杂得多。我认为你正在处理你发布的代码所产生的承诺。我会试试这个:
gapi.load('auth2', function () {
auth2 = gapi.auth2.init({
client_id: 'MYID.apps.googleusercontent.com',
cookiepolicy: 'single_host_origin',
ux_mode: 'redirect',
redirect_uri: 'http://localhost:8080/afterlogin'
// Request scopes in addition to 'profile' and 'email'
//scope: 'additional_scope'
});
auth2.signIn().then(function() {
var profile = auth2.currentUser.get().getBasicProfile();
console.log('Full Name: ' + profile.getName());
})
来自doc s, gapi.auth2.ClientConfig
编辑 - 我使用=
符号修复了问题