REST调用与node.js移动之间的会话

时间:2018-11-26 10:34:50

标签: node.js rest session mobile

我必须使用node.js(express.js)后端为移动应用进行注册。注册过程涉及几个步骤: 1.提供电子邮件 2.验证电子邮件 3.提供个人资料 4.上传照片

对于每个步骤,应该单独调用服务器API(可能通过REST)。 如何保持会话,以便服务器知道连续的呼叫来自同一客户端?这是一个移动应用程序,因此我认为基于cookie的会话将无法正常工作。你能以某种方式指导我吗?使用JWT令牌是正确的方法吗?

2 个答案:

答案 0 :(得分:0)

我不是专家,但是...

因此,这里您首先需要回答一个问题: 用户必须创建多少时间?例如,如果您不存储用户已开始创建帐户且服务器已重新启动的信息(无论出于何种原因,例如error),则将丢失此信息。因此,将其存储在某些数据库中是值得的。

您可以使用redis,mongodb,一些sql db或只是系统文件(不建议使用),具体取决于您。

假设您要保留此类信息,则可以创建REST端点。 因此,例如,您可以在MongoDB(基本上存储JSON结构)中进行输入。

NewAccount { id: <unique_id> , email, info, images }

因此,您创建的每个端点都将在此MongoDB条目中设置信息。

示例:

1)POST / user / create->这将在MongodDB中创建条目 2)PUT / user / create {正文:{字段:'email',值:'p@pp.pl'}} 3)开机自检/ user / create / finish

我们还有一个问题->如何识别用户?您可以尝试通过IP地址识别它。如果是移动应用程序,则您可以使用不同的方式来存储信息(例如,用户令牌),例如:  https://developer.android.com/guide/topics/data/data-storage

答案 1 :(得分:0)

按照您给出的步骤进行操作:

  

逃避步骤:1.提供电子邮件2.验证电子邮件3.提供个人详细信息4.上传照片

1。通过电子邮件和密码注册

  

建议:您需要输入电子邮件和密码。

i)当用户输入电子邮件和密码时,检查用户是否存在电子邮件(如果没有),然后发送经过验证的电子邮件并重定向到登录名。

2。一旦用户验证。现在,用户尝试登录。

i)当用户尝试登录时,请检查电子邮件和密码是否正确。

ii)如果正确,则在后端生成JWT令牌,然后发送回APP。

ii)现在使用JWT令牌,您可以在应用程序上管理用户会话。