我正在设计一个与Stormpath
Facebook 集成的简单 REST API,并想知道什么是用户身份验证的最佳模式。目前我没有任何用于创建用户的端点,因此对我的端点的所有请求都经过身份验证,如下所示:
Application
获取基于我的应用程序API_ID
并API_SECRET
在我的应用程序中配置的Stormpath对象Account
根据每个请求中指定的 Facebook 令牌获取 Stormpath对象- 基于帐户状态验证请求或拒绝
这或多或少遵循官方指南并且工作正常,因为即使用户帐户不存在,它也会在第一次向 Stormpath 获取帐户请求时创建。它是否有意义,是否足够安全?我正在寻找一些文档或最佳实践,但找不到任何东西。
我还需要获取/生成唯一的用户 ID,以便我可以与系统中的用户数据建立一些关系 - 所以另一个问题,这里最好的方法是什么:
- 生成一些唯一的 ID,将其与从 Stormpath 获取的用户电子邮件相关联并保存在我的系统中 - 我认为这违反了像 Stormapth 这样封装所有用户数据的服务的一些想法
- 执行与上述相同的操作,但将其存储在 Stormpath 帐户中
customData
- 使用 Stormapth 用户资源 ID,可以从用户 URI 中获取
请指教。
只是为了记录,我正在使用Stormpath Java SDK并将 API 设计为移动社交应用程序的后端,因此安全性对我来说非常重要。