我正在编写一个React应用,该应用需要使用Facebook按钮登录。
React应用程序已经在与PHP API进行通信,该PHP API已经具有用于使用用户名/密码注册和登录用户的系统。该API会生成JWT并将其发送到前端,该前端将其存储在本地存储中,并使用它在后续的API调用中对用户进行身份验证。
我已经将前端应用程序设置为成功打开FB权限对话框的位置,并在用户授予权限后收到了包含userID
和accessToken
的FB响应许可。
我的问题是:
如果以后不需要访问FB的API,是否需要存储FB accessToken
?我可以简单地存储userID
并将其用于身份验证吗?
我建议的身份验证流程如下所示:
userID
发送到我的PHP API。userID
在我们的数据库中查找用户。如果找到一个,它将发送回有效的JWT,并登录用户。userID
将以应用程序的状态存储,并且它将开始注册过程,当用户使用时,将FB userID
与其余注册数据一起传递完成注册。然后,API会生成JWT并像往常一样继续登录。这将是完全不安全的,并且是黑客有史以来最容易的一天吗?
或者实施安全吗?