问题标签 [gidsignin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5507 浏览

ios - “Web”客户端类型不允许使用自定义方案 URI - Google with Firebase

我正在尝试在我的 iOS 应用程序中使用 firebase 实现 google 登录。我遵循本教程。 https://firebase.google.com/docs/auth/ios/google-signin 我已经在 firebase 中设置了 iOS 应用程序,并使用下载的 GoogleService-Info.plist 中的 google clientID 和 reversedClientID。

仅供参考:我有一个自定义登录按钮,而不是谷歌登录按钮。无论如何,当我单击登录按钮时,谷歌会在 web 视图中显示以下错误。

在此处输入图像描述

我知道我的问题与此问题中描述的问题相同。

Google 400 错误:无效请求自定义方案 URI 不允许用于“Web”客户端类型

但是,就我而言,我已经在 Firebase 中创建了该应用程序,但仍然出现错误。有什么想法请...

0 投票
1 回答
1133 浏览

ios - 错误域 = MCOErrorDomain 代码 = 5 “无法使用当前会话的凭据进行身份验证。”

checkAccountOperation调用imapSession 的方法时出现此错误

错误域 = MCOErrorDomain 代码 = 5 “无法使用当前会话的凭据进行身份验证。” UserInfo={NSLocalizedDescription=无法使用当前会话的凭据进行身份验证。}

这是我的代码:

我正在使用 google 登录 SDK 登录到 google 帐户

对于同一问题,我已经尝试了几乎所有从网上获得的可能解决方案。我在 Google Developer 控制台下为我的项目启用了所有需要的 API。即使我在创建 imapSession 时提供了密码,这个问题仍然存在。在我将登录更新为使用最新谷歌登录 SDK 的方式后开始面临这个问题。

0 投票
0 回答
151 浏览

objective-c - GIDSignIn 错误代码 401

我试图通过提供以下范围来实现谷歌登录并获取个人资料详细信息以及联系人列表

身份验证后,已获取用户信息,但要获取用户联系人,使用以下 API:

但回应是:

}**

请帮我解决这个问题。提前致谢。

0 投票
2 回答
543 浏览

ios - Firebase Google 登录:获取用户位置

登录后是否可以访问 Google 用户的位置(使用 GIDSignIn)?

我可以轻松访问用户的姓名、电子邮件和照片。

0 投票
2 回答
279 浏览

ios - ViewController 不符合协议“GIDSignInDelegate”

我添加GIDSignInDelegate了我的ViewController和添加的功能:

但 Xcode 仍然在抱怨协议。看截图

Xcode 提示

0 投票
0 回答
264 浏览

ios - 在 iOS 应用程序中使用 Google 登录,而不使用 UIViewController 作为代表

我们可以在不将 UIViewcontroller 设置为委托的情况下使用 Google 登录吗?我在 GooglePlus API 中做过同样的事情,现在似乎不起作用,抛出异常..

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“uiDelegate 必须是 |UIViewController| 或实现 |signIn:presentViewController:| 和 |signIn:dismissViewController:| 来自 |GIDSignInUIDelegate| 的方法。'

由于许多屏幕依赖于谷歌登录,而不是在任何地方添加登录代码,我创建了谷歌管理器单例类并抽象了所有登录逻辑。一旦使用访问令牌登录成功,此类将提供回调。当我使用 Google Plus API 时,我正在设置这样的委托......

它按预期工作,现在我已经迁移到谷歌登录,因为谷歌加号已被弃用,

它不允许我将单例类设置为委托,在运行时它会抛出异常。

是否可以在 Google 登录中将 NSObject 类设置为委托?或者有什么解决方法吗?

0 投票
2 回答
366 浏览

ios - 按 UID 获取 Google 个人资料图片网址

当给我 UID 时,我想获取 google 个人资料图片。我有这个参考,但我知道如何点击这个 url。请任何人给我一些例子。

编辑: 这是我的代码

当点击这个 api 时,我总是得到错误。为什么我没有得到回应?

0 投票
0 回答
501 浏览

ios - 在后端验证 Google 登录 ID 令牌 iOS 会导致错误

我正在尝试为我的 Android 和 iOS 应用设置 Google 登录。

Google 登录在应用程序中配置,并且应该将在应用程序中检索到的 id 令牌发送到服务器。然后,服务器端的 PHP 代码应使用 Google 客户端来验证使用以下代码发送的 Id 令牌:

但是,虽然此代码成功验证了我的 Android 应用程序发送的 idtoken,但在从 iOS 应用程序发送 idtoken 时却失败了。payload 变量返回 null 并且总是到达代码的 ID 验证失败 E2 部分。

在 REST api 端点https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=中调试从移动设备发送的 idtoken为我提供了 Android 和 iOS 的成功响应。我可以在响应中发现的唯一区别是azpaud值。鉴于应用程序使用不同的客户端 ID,我认为这种差异是预期的。

在 Android 代码中,Google SDK 具有 requestIdToken(webClientId) 方法,该方法允许您设置 Web 客户端 id 变量以请求 id 令牌。对于 iOS Google 登录,我找不到设置 Web 客户端 ID 的选项。我尝试将 webClientId 设置为 GIDSignIn.sharedInstance() 中的 serverClientId 但这给了我一个 400 错误,告诉我观众无效。

有没有办法设置这个 webclientid,iOS 有没有 requestIdToken 等价物?我目前正在使用以下代码在 iOS 上获取 idtoken:

TokenValidation 类是我编写的用于将数据发送到服务器的自定义类。

ViewController 有一个调用以下函数的 GIDSignInButton:

startTokenValidate 函数然后调用我的 API 端点来验证令牌。应用程序内的错误变量始终为零。

有什么方法可以检索正确的 idtoken,或者是否有其他方法可以使用后端服务器验证 Google 登录?

0 投票
2 回答
713 浏览

ios - iOS GIDSignIn 在 iOS 11 中注销/取消登录后第二次不调用登录屏幕

Google 签名 (GIDSignIn) 在 iOS 10.3 之前可以完美运行,但在 iOS 11 中则不行。

在 iOS 11 中:

方法仅在第一次调用。随后的登录尝试(在注销或取消登录之后)不会调用上述回调。调用 GIDSignIn.signin 方法什么也不做。

0 投票
0 回答
543 浏览

ios - 如何获取谷歌登录用户生日和性别目标c?

我们如何在目标 c 中让谷歌登录用户年龄和年龄。我公开了该用户的个人资料信息。代码:

我检查了以下链接,但没有找到任何解决方案。

https://developers.google.com/+/web/api/rest/latest/people/get

使用 Google OAuth API 检索出生日期和婚姻状况