我正试图通过本机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凭证选项。