我一直在搜索并尝试使用 PFFacebookUtils
和 Parse
解决此问题,用户通过 Facebook 登录但未保存在 中解析数据浏览器
。在此过程中,用户取消选择权限(例如电子邮件),这会导致解析数据浏览器中出现空用户。
我更改了此流程并添加了一些检查:
- 检查是否授予权限,如果没有则重新请求 允许。
- 每次创建新的 PFUser 时,如果权限是 未给出,然后该过程重新开始,我删除旧的 PFUser (因此创建了一个新的)。
- 当所有权限都已检查完毕且数据已准备就绪时 保存到 Parse 失败,用户对象显示为 Parse 中没有信息。
有人经历过类似的事情吗?使用 Facebook 登录时,数据浏览器中的 PFUser 数据为空?
使用PFFacebookUtils.logInWithPermissions
最佳答案
这种情况可能会发生,但您可以通过在云上检查来阻止在 Parse User 类中创建用户。在您的 User 类 beforesave
触发器中,您可以通过查看 request.object.get("authData")
轻松检测正在注册的用户是否是 Facebook 用户。然后,您可以使用访问 token (request.object.get("authData").facebook.access_token
) 调用图形 API 并检查您的用户是否已授予您所需的所有权限:
https://graph.facebook.com/me/permissions&access_token=xxx
如果不是,则通过返回 response.error()
来拒绝用户记录。
关于swift - 用户使用 PFFacebookUtils 登录时取消选择 Facebook 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34331274/