如何在分布式REST应用程序中处理用户名/传递更改?

时间:2017-06-09 14:48:05

标签: rest https distributed-computing

我有一个分布式REST应用程序,用C ++编写,带有集成的SQLite DB。该应用程序是自包含的 - 没有apache或iis服务器,也没有外部mysql。应用程序是硬件传感器背后的逻辑:应用程序监视传感器,识别和存储感兴趣的数据,以及生成事件"当感兴趣的数据重复时。感兴趣的数据的创建通过因特网与使用REST通信同步的应用程序的多个实例同步。

通过https使用基本身份验证,每个实例都维护远程实例的本地密钥/值存储。用户/通过身份验证数据。这是必要的,因为与应用程序的远程实例的每次通信都需要身份验证。

我的问题是当操作员更改应用程序中的用户名或密码,而应用程序与远程实例处于活动同步时,如何处理这种情况。

我认为这与任何其他重大应用程序数据更改没有什么不同 - 当本地用户名/密码更改时,REST通信将发布到包含该远程更改数据的每个同步实例本地键/值存储。任何失败的通信都会在该远程回来时排队等待,因为这是远程维护同步所需的重要信息。

因为通过https进行通信,所以传递身份验证数据的事实是可以的。

我认为我可能需要特殊的逻辑来处理竞争条件,其中一个实例尝试与另一个实例通信,但另一个实例刚刚更改了其认证字段。发件人将使用我当前的逻辑排队,当远程发送更新的身份验证数据时,本地排队的失败通信将开始成功。所以这似乎不是问题。

我猜这是对之前来过的人的请求,你做了什么?也许我的搜索条件在这里很弱,因为我没有找到讨论这个问题。

0 个答案:

没有答案