• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - Google 登录 iOS 和网络

[复制链接]
菜鸟教程小白 发表于 2022-12-12 16:28:30 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在构建一个包含 Web 和 iOS 应用程序的系统。 Web 部件需要可在移动部件上使用的身份验证,反之亦然。 我想在网络和移动部分添加对谷歌登录的支持。对于测试,我使用了来自

的代码

https://developers.google.com/identity/sign-in/ios/start-integrating

适用于 iOS 和

https://developers.google.com/identity/sign-in/web/

用于 Web 部件。 应用程序和网络(电子邮件、个人资料)的范围相同

预期流量

  1. 用户使用 google 登录并从移动设备(或网络)授予访问权限
  2. 用户访问网站(或应用程序)
  3. 用户使用 google 登录
  4. 无需再次授予权限

我得到了什么

  1. 用户使用 google 登录并从移动设备授予访问权限
  2. 用户访问网站
  3. 用户使用 google 登录
  4. 再次请求相同的权限

如何避免再次请求许可?来自文档 (https://developers.google.com/identity/sign-in/web/cross-platform-sign-in) 似乎可以获得预期的流量,但实际上我无法获得它。 iOS 和 Web 在同一个谷歌开发者项目中。



Best Answer-推荐答案


我按照以下指南按预期完成了这项工作: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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap