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

Pok*_*oke 26 ios google-oauth uri-scheme google-oauth2

当我在iOS应用中登录Gmail时,我收到以下错误(屏幕截图),并且未显示登录字段.我们正在WKWebView中加载登录屏幕.

  • 我们正在使用自定义URI重定向,但为什么Google会立即抛出此错误.自定义URI有哪些替代方案?
  • Swift 2.3项目
  • 使用OAuthSwift v0.6.0 cocoapod
  • 这种情况最近才开始,仅在过去一周左右,我相信谷歌的API会发生一些变化.

我已经读过谷歌正在弃用OAuth的网页视图,并将在2017年4月20日阻止请求.正如Google开发人员博客中所见:https: //developers.googleblog.com/2016/08/modernizing-oauth-interactions-in -native-apps.html

这是否意味着我已经需要使用或是否有其他可行的解决方案?在我需要更新之前,我想我还有更多时间.

在此输入图像描述

Nic*_*ick 18

我的猜测是您的客户在Google云端控制台中注册不正确."WEB"客户端通常是服务器或Javascript应用程序.iOS应用程序应注册为iOS客户端.

https://developers.google.com/identity/protocols/OAuth2InstalledApp#creatingcred

  • 感谢您的回复。我知道它应该注册为 iOS 客户端。它在 google 控制台中被设置为一个 web 应用程序,但它一直在 webview 中工作。不知道为什么会突然出错。 (2认同)

小智 12

我也发现了这个问题.
请检查google开发者控制台并查看凭据密钥
.Google-info plist中的客户端ID必须来自iOS应用程序,而不是Web.
并使用该客户端ID作为revereseClientID并将其复制到URI类型