也许以下内容听起来有点奇怪,我有一些错误的假设,所以我希望你能宽恕这一点。
简单介绍一下我们想要实现的目标:
现在我们正在开发一个需要后端存储用户特定数据(例如图像、评论等)的应用程序。由于我们想摆脱所有用户身份验证并且我们也想使用 facebook 功能,我们将让 Facebook 完成所有身份验证工作,并根据我们将在他们身份验证后收到的 id/email 创建一个用户。
让我们简单描述一下流程:
- 用户打开应用程序但未登录(Facbook SDK 将自行处理会话并保存 cookie)。
- 用户通过 Facebook 进行身份验证。
- 应用程序将 id 发送到服务器。如果存在 ID,服务器将返回,因此应用程序将显示某种注册(特定于域的表单)或将立即登录用户
现在是棘手的部分,我不确定如何处理。
由于后端的 API 是公共的(HTTPS),我们需要以某种方式确保用户是否已登录,然后才能通过应用程序获取他的数据。
仅仅说“哦,应用程序已经验证了他是用户,所以没有其他人会调用后端”是不够的。后端如何验证 api-consumment 是否真的通过他的 Facebook 登录进行了身份验证?我们希望避免任何人都可以使用他在设备上保存的 Facebook ID 调用我们的 REST 服务。
请记住:我们不希望在用户通过 Facebook 进行身份验证时为其分配密码。
也许我在这个用例中有某种奇怪的想法,所以请启发我!提前感谢所有答案和共享知识。期待!!