首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更新GoogleSign以使用新的Firebase控制台和API?

如何更新GoogleSign以使用新的Firebase控制台和API?
EN

Stack Overflow用户
提问于 2016-05-20 00:27:18
回答 3查看 1.2K关注 0票数 1

所以,从昨天起,我的一切都正常了。然后我登录了我的Firebase仪表板,有一个横幅建议我尝试新的Firebase控制台。“当然!听起来不错。”我想。

八小时后,我无法让谷歌登录工作。这是我的GIDSignInDelegate方法,它正确地触发了所有的东西。

代码语言:javascript
复制
  func signIn(signIn: GIDSignIn!,
            didSignInForUser user: GIDGoogleUser!,
            withError error: NSError!) {
            if (error == nil) {
                    let authentication = user.authentication
                    let credential = FIRGoogleAuthProvider.credentialWithIDToken(authentication.idToken,
                                                                                 accessToken: authentication.accessToken)

                    FIRAuth.auth()?.signInWithCredential(credential, completion: nil)
            } else {
                    // Don't assert this error it is commonly returned as nil
                    print("\(error.localizedDescription)")
            }
    }

问题似乎是,这并不能为

代码语言:javascript
复制
 FIRAuth.auth()!.addAuthStateDidChangeListener

在我的应用程序代表中。

当登录到Facebook时,它确实会触发auth状态更改侦听器。

我也尝试了一个完成块,用户是一个GIDGoogleUser,而不是一个看起来有点奇怪的FIRUser,但我没有证据证明这会是个问题。此外,错误为零。因此,看起来signInWithCredential正在工作,但是状态变化监听器没有启动。

我唯一能想到的就是谷歌的登录存在问题,因为我必须从Firebase控制台下载的新GoogleService-Info.plist的应用ID与我以前的GoogleService-Info.plist不同。我试着用我的旧应用来替换新的应用程序id,它根本不起作用。然后,我尝试删除对旧应用程序id的任何引用,前提是新的应用程序可以自动集成google登录。还是没有运气。

有人成功更新了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-20 08:26:58

为我解决这个问题的是创建一个新的Firebase项目。

转到https://console.firebase.google.com并选择CREATE。在我的旧(升级)项目中,我尝试了我所能想到的一切,但我无法使它发挥作用。此外,在旧项目中添加一个新的iOS应用程序是不够的。

我知道对于一个生产应用程序来说,这是一个糟糕的选择,但由于我还在开发阶段,这对我来说并不是什么大事。

票数 1
EN

Stack Overflow用户

发布于 2016-05-20 06:07:24

我添加了“导入FirebaseAuth”,它成功了!我知道Firebase文档没有说要添加这个,但我决定尝试一下。

票数 3
EN

Stack Overflow用户

发布于 2016-05-27 15:25:40

您需要添加"Web配置“。你仍然需要进入它,即使你可能只有iOS应用程序!

  1. 转到新的Firebase控制台中的"Auth“选项卡。
  2. 点击“登录提供商”下的"Google“
  3. 悬停在"Web配置(可选)“之后,它将弹出”重用现有谷歌项目中的web客户端ID。通过选择项目和Google控制台上的OAuth 2.0条目,您可以找到现有项目的web客户端ID。“
  4. 点击上面写着"Google控制台“的链接。
  5. 检查"OAuth 2.0客户端ID“部分。您需要点击链接"Web客户端(自动创建的谷歌服务“)。
  6. 将“客户端ID”和“客户端秘密”复制/粘贴到"Web配置(可选)“部分的Firebase控制台中

有趣的是,你需要这样做,即使你可能只有iOS应用程序。

重新运行您的xCode项目。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37336130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档