“Web”客户端类型不允许使用自定义方案 URI - Google with Firebase
Posted
技术标签:
【中文标题】“Web”客户端类型不允许使用自定义方案 URI - Google with Firebase【英文标题】:Custom scheme URIs are not allowed for 'Web' client type - Google with Firebase 【发布时间】:2017-08-21 00:24:19 【问题描述】:我正在尝试在我的 ios 应用中使用 Firebase 实现 google 登录。我遵循本教程。 https://firebase.google.com/docs/auth/ios/google-signin 我已经在 firebase 中设置了 iOS 应用程序,并使用下载的 GoogleService-Info.plist 中的 google clientID 和 reversedClientID。
仅供参考:我有一个自定义登录按钮,而不是 google 登录按钮。无论如何,当我单击登录按钮时,谷歌会在 web 视图中显示以下错误。
我知道我的问题与此问题中描述的相同。
Google 400 Error: invalid request Custom scheme URIs are not allowed for 'Web' client type
但是,就我而言,我已经在 Firebase 中创建了应用程序,但仍然出现错误。有什么想法请...
【问题讨论】:
【参考方案1】:第一步是检查您是否已经拥有适用于 iOS 的 OAuth 2.0 ID。为此,请在 API 控制台中打开 Credentials page。我希望您能在 OAuth 2.0 客户端 ID 部分下找到 适用于您的应用程序的 iOS 客户端。如果没有,请关注此Guide 第二步是将 Web 客户端 ID 替换为 OAuth 2.0 客户端 ID 部分中的 iOS 客户端 ID。为此,您应该打开 GoogleService-Info.plist 并修改以下键:CLIENT_ID 和 [value].apps.googleusercontent.com和 REVERSED_CLIENT_ID 与 com.googleusercontent.apps.[value]。
【讨论】:
是的。我在凭据页面中找到了 ios 应用程序。但这非常令人困惑,因为在 firebase 中我也创建了一个 ios 应用程序。但是firebase给出了一个网络客户端ID。谷歌让一切变得混乱 @sajaz 我知道,这很奇怪。我也是,我对 GIDSignIn 也有同样的经历。 关注这个话题。我还从 Firebase 创建了我的应用程序,但它提供了一个 WEB clientId?怎么回事?我已经使用适用于 android 的 SHA 签署了我的应用程序,并按照@ValeriyKliuk 的说法创建了 iOS 密钥。它可以工作,但它会在平台之间生成不同的 clientId。看这个:***.com/questions/42760596/… 谢谢!以上是关于“Web”客户端类型不允许使用自定义方案 URI - Google with Firebase的主要内容,如果未能解决你的问题,请参考以下文章
Azure AD,客户端机密应用程序调用具有自定义应用程序 ID URI 的 web api,返回 401
由客户端不视为相同类型的 Web 服务引发的自定义异常(使用共享程序集)