我想创建一个应用程序(将是公开的),该应用程序将实时向服务器发送数据或从服务器接收数据。因为对于此特定用例,PUB / SUB模式很自然地适合,所以我正在考虑将MQTT协议与TLS一起使用。在这种情况下,保护访问的最佳做法是什么?
不,单个用户名/密码是一个非常糟糕的主意。 (只需要有人拆卸应用程序,用户名/密码就会被盗用,任何人都可以冒充其他人)。将clientIds链接到用户也可能意味着用户只能拥有一个设备。
使用户使用用户名/密码登录应该对性能的影响最小,因为只有在连接时才进行检查。
这也意味着您可以撤消单个用户的用户名/密码,而不必交付新版本的应用程序。
用户名/密码的替代方法是向用户颁发证书,以使他们向代理进行身份验证。证书中的CN可用于识别用户。