我正在构建一个包含 Web 和 iOS 应用程序的系统。 Web 部件需要可在移动部件上使用的身份验证,反之亦然。 我想在网络和移动部分添加对谷歌登录的支持。对于测试,我使用了来自
的代码https://developers.google.com/identity/sign-in/ios/start-integrating
适用于 iOS 和
https://developers.google.com/identity/sign-in/web/
用于 Web 部件。 应用程序和网络(电子邮件、个人资料)的范围相同
预期流量
我得到了什么
如何避免再次请求许可?来自文档 (https://developers.google.com/identity/sign-in/web/cross-platform-sign-in) 似乎可以获得预期的流量,但实际上我无法获得它。 iOS 和 Web 在同一个谷歌开发者项目中。
我按照以下指南按预期完成了这项工作:https://developers.google.com/identity/protocols/CrossClientAuth https://developers.google.com/identity/sign-in/ios/offline-access
你需要做的是:
首先添加
[GIDSignIn sharedInstance].serverClientID = @"SERVER_CLIENT_ID";
在您的 iOS appDelegate 中。当用户通过应用程序进行身份验证时,您现在可以通过 GIDGoogleUser
对象的 serverAuthCode
属性检索对您的 server_client_id 有效的 token 。
将 token 发送到服务器并在 token 端点(/oauth2/v3/token)上验证它 redirect_uri
必须为空,而 grant_type
必须是 authorization_code
否则你会得到 400 响应。
您的服务器现已通过身份验证,用户何时登录网站时将不再询问权限。
关于ios - Google 登录 iOS 和网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32903351/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) | Powered by Discuz! X3.4 |