桌面Mac应用程序中的Google OAuth-错误400:redirect_uri_mismatch



我正试图通过本机Mac应用程序向Google OAuth 2进行身份验证。我在Google Developer控制台中将我的应用程序设置为Desktop应用程序,但没有地方可以指定redirect_uri。据我所知,这些仅适用于web应用程序。

但是,在Swift中使用ASWebAuthenticationSession编写我的请求时,我得到的身份验证URL是这样的(为了易读,添加了换行符(:

https://accounts.google.com/o/oauth2/v2/auth?
client_id=******.apps.googleusercontent.com&
response_type=code&
redirect_uri=pro.cova%3A%2F&
scope=profile%2520email%2520https%3A%2F%2Fmail.google.com%2F&flowName=GeneralOAuthFlow

我的应用程序的自定义URL类型为pro.cova:/

我从谷歌得到这个错误:

Error 400: redirect_uri_mismatch

如果谷歌开发者控制台中没有指定,会发生什么不匹配?

事实证明,在构建本机Mac应用程序时,您必须创建"iOS";Google开发人员控制台中的API凭证。设置时,您必须指定捆绑包ID,如下所示:pro.cova

当您在ASWebAuthenticationSession请求中设置redirect_uri时,它的末尾必须有一个:/,如下所示:redirect_uri=pro.cova:/

但是ASWebAuthenticationSession中的callbackURLScheme没有:/,所以它只是pro.cova

我希望谷歌的API文档说:;iOS或Mac";API凭证选项。

相关内容

最新更新