用户认证时安全地检索用户数据

时间:2018-07-28 16:48:13

标签: node.js security vue.js login firebase-authentication

花了一些时间阅读有关身份验证的信息,并注意到要做到这一点非常困难,所以我决定使用firebase-authentication对我的vue应用程序中的用户进行身份验证。

我正在列出此应用程序中使用的技术和流程,以显示每个零件的交互作用并清除问题:

  1. 我将Vue用于我的客户端javascript客户端
  2. 使用firebase身份验证的客户端登录用户。
  3. 用户登录时,将完成对node.js rest api的调用,并使用其用户数据检索json。
  4. 客户端检索数据后,应用程序会根据用户权限显示某些部分,并隐藏其他部分

因此,在我的Vue应用程序中,我显示了一个自定义登录表单,并使用它通过firebase对用户进行身份验证。用户登录后,我从自己的服务器(只是一个具有不同用户配置值的json)中检索了一些数据,这些数据定义了用户如何与应用程序进行交互(例如,他在应用程序中可以做什么或不能做什么) )。

如何检索此信息并以安全的方式在我的客户端应用程序中使用它?我的意思是,例如,说我在JSON中有一条信息来定义用户是普通用户还是管理员用户。如何避免用户修改服务器的响应并提升特权?

1 个答案:

答案 0 :(得分:0)

您无法采取任何措施来阻止客户端DOM操作。如果可以通过JavaScript访问,则用户可以访问。您应该以一种敏感的信息和/或功能不依赖于客户端安全性的方式来实现应用程序(如果确实存在这种情况)。

您可以做的是防止对服务器的未经授权的访问。这是用于定义范围,ACL等的目的。如果精明的用户确实修改了响应数据,并且将其角色从user更改为admin,则您的响应中不应包含任何用于管理员的内容仅限用户。相反,只有在服务器代码已对请求进行身份验证/授权的情况下成功调用API后, 才能访问该信息。

在安全方面,

从不信任客户端。这必须在服务器上完成。