【问题标题】:How to make sure user has bought some device?如何确保用户购买了一些设备?
【发布时间】:2021-08-22 21:36:55
【问题描述】:

我目前正在做一个项目,其中我有带有一些传感器等的硬件设备和网络应用程序,可以向用户显示数据,并让用户对设备进行一些控制。

一个用户可以有很多设备,所以我需要制作某种系统,用户可以在其中将设备添加到他的帐户中。这是我遇到问题的部分。

我怎么知道该用户已经购买(或基本上只是拥有)可与应用程序一起使用的设备?

我的第一个想法是:好的,只需为每个设备添加某种密钥,并告诉用户在添加设备时提供此密钥。但后来我想 - 如何确保密钥是正确的?

我是否应该在存储所有正确密钥的数据库中进行集合,检查用户提供的密钥是否存在,从数据库中删除密钥并允许用户添加设备?

我正在使用:

  • MongoDB
  • Express.js
  • 猫鼬,

创建我的 API。你有什么建议吗?

感谢您的宝贵时间,祝您有美好的一天:)

【问题讨论】:

    标签: mongodb authentication authorization iot


    【解决方案1】:

    您应该在数据库中创建一个设备表。 然后要求用户添加设备ID, 然后检查

    if user deviceid exists in devices table
    

    【讨论】:

    • 我应该使用与我的 API 相同的数据库吗?
    • 是的,你应该使用相同的
    • 我应该制作某种管理面板来添加新产品密钥吗?或者它们应该是自动生成的,只有管理员可以访问它们(获取它们并添加到设备)?
    • 给管理员一些正确的权限总是一个不错的选择。您可以使用管理面板,或者您可以在用户表中添加一个名为 Role 的字段,其中只有管理员将拥有 role=admin 否则所有用户都将拥有 Role = user,并且在您的程序中进行任何更改时,您可以检查是否(角色==管理员)允许进行更改
    • 感谢您的宝贵时间,我认为这是最好的选择!我也在考虑二维码,但我问自己如果有人在 PC 上没有网络摄像头怎么办?然后他/她会被卡住:D
    猜你喜欢
    • 2012-11-09
    • 2023-03-11
    • 2022-10-17
    • 2013-07-13
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多