我们已经构建了一个使用 Google 登录的 react-native 应用程序。我们使用react-native-google-signin
并发布 ios 和 android 应用程序。
登录在 android 应用程序中 100% 的时间都有效。它也适用于 ios 应用程序,但某些使用 G Suite 的组织除外。对于这些组织,我得到了著名的admin_policy_enforced
错误。
我在哪里运行应用程序(模拟器或设备)似乎不会影响测试,但为了详尽无遗:我的 ios 应用程序使用 flightcenter 安装在我的 iphone 上,我们在发布它时使用 Xcode 的自动签名选项。
我设法通过玩弄我的谷歌组织的设置来重现这一点:
- 我使用了拥有 Apple Push Certificate 的组织。
- 使用 iOS 的“高级”设置启用了“移动管理”
我做了以下额外事情的事实似乎并没有解决它:
- 在我的设备上下载证书。
- 安装 Google Device Policy 应用
- 在 google admin 1中将应用程序列入白名单。
当 iOS 移动管理设置设置为基本时,登录开始工作。
最后一点,关于范围,我使用的是默认范围:电子邮件和个人资料。
如果需要,我很乐意添加更多配置或代码片段。