Ibm mobilefirst 如果用户';您的密码被使用了吗?

Ibm mobilefirst 如果用户';您的密码被使用了吗?,ibm-mobilefirst,jsonstore,Ibm Mobilefirst,Jsonstore,我正在使用IBM MobileFirst 6.3构建一个移动应用程序。该应用程序将按如下方式工作:- 用户必须输入用户名和密码才能访问应用程序功能 JSON存储用于存储加密的用户数据 在首次使用应用程序时,将创建JSON存储,并在成功登录后由用户密码[JSON存储密钥]保护 用户可以在任何环境[移动或网络]中更改密码 让我们来看一个场景,如果用户在Web中更改了密码,并尝试登录移动应用程序。登录将成功,但无法初始化JSON存储,因为用户已更改密码 移动和web应用程序使用相同的web服务,我们不

我正在使用IBM MobileFirst 6.3构建一个移动应用程序。该应用程序将按如下方式工作:-

  • 用户必须输入用户名和密码才能访问应用程序功能

  • JSON存储用于存储加密的用户数据

  • 在首次使用应用程序时,将创建JSON存储,并在成功登录后由用户密码[JSON存储密钥]保护

  • 用户可以在任何环境[移动或网络]中更改密码

  • 让我们来看一个场景,如果用户在Web中更改了密码,并尝试登录移动应用程序。登录将成功,但无法初始化JSON存储,因为用户已更改密码

  • 移动和web应用程序使用相同的web服务,我们不允许修改移动应用程序的web服务


    我们如何处理这种情况?

    您的意思是您将移动应用程序的登录基于JSONStore?意思是,为了登录到移动应用程序,你需要打开你的JSONStore

    我完全不相信这是正确的方法。 您正在设备上存储密码。不是特别安全

    使事情复杂化的是,您还希望能够从web和移动设备上更改密码,并且正如您所发现的,您不能在使用旧密码首次登录之前在移动设备上更改密码,然后根据最终用户在web版本中输入的密码以编程方式触发密码更改

    如您所见,这造成了web和移动应用程序之间缺乏同步性的情况

    如果你打算允许更改密码,也许你不应该这样做

    我的建议是使用集中的密码位置,例如连接到Worklight服务器的LDAP或类似服务器。也不要以这种方式在JSONStore上登录


    您可以将JSONStore用于脱机身份验证,但不能用于联机身份验证。请参见此处:。

    描述了一种我认为在您的场景中可以使用的方法。

    我没有提到我将用户名和密码存储在json存储中。在第二点中,我提到我们正在将来自用户[而不是用户名和密码]的一些信息存储到json存储中。然后,一旦用户获得了身份验证,我们就只打开json存储区进行存储。那么web密码和JSONStore密码之间的关系是什么呢?您使用web密码的目的是什么?登录?是的,web密码用于移动应用程序身份验证,我们也在使用相同的web密码来保护json存储。正如一位作者所写,这是一个有问题的场景,可能不应该这样做。这就像是第二层,或者说是第二层的保护。您可能不应该为登录和jsonstore提供相同的密码。也许每次都会产生一个新的。或者考虑为什么你在登录后需要另一个密码…我同意你的观点。正如您所说,这是一个有问题的场景,但我们需要以某种方式保护json存储。您将如何通过每次生成密码来保护json存储,或者如何直接向用户询问json存储的密码?