【发布时间】:2020-03-02 23:35:36
【问题描述】:
问题
在我们的系统中,我们有:
- 两个应用程序:reactjs 中的后台和 react-native 中的用户应用程序
- 一个 API(带有 postgres db)
- Hubspot(用户信息、电话号码等)
我们想添加一个身份验证服务器来保护我们的用户数据并允许用户连接到移动应用程序。该服务器将在 Hubspot(携带用户信息)和 APIdb 中的用户之间提供令牌和链接。 db 将仅存储 hubspot 用户 id 和 api 用户 id 以及一些时间戳。我们想通过短信使用一次性密码。
工作流程类似于:
- 用户想要连接到应用程序(第一次或不是第一次)。该应用正在请求电话号码。
- 电话号码被发送到验证服务器,检查它是否存在于 hubspot 中。如果用户电话号码存在但数据库中还没有,这意味着我们需要创建一个新用户(在身份验证服务器数据库和 api 中)。如果用户号存在并且已经在数据库中,则无需执行任何操作。在这两种情况下,都会生成一个令牌并且用户能够连接(仍然需要了解如何做到这一点)。如果 hubspot 中不存在任何内容,则用户将无法在应用中进行身份验证。
问题
我的方向正确吗?创建一个身份验证服务器,是个好主意还是完全没用?我们应该直接在 API 中实现我们的逻辑吗?该系统是关于医疗信息的,数据应该受到保护。
关于 OTP,如果电话号码确实存在,我们应该向用户发送什么?需要实际令牌的身份验证令牌还是随机字符串?
【问题讨论】:
标签: node.js architecture jwt one-time-password