Worklight在线+离线身份验证

钱德拉哈斯

我正在尝试通过Worklight实现以下目标。

  1. 我的应用程序具有两组功能。仅当将应用程序连接到服务器并且对用户进行身份验证时,才能访问一组功能。可以离线访问另一组功能,但是它们需要来自加密的JSONStore的数据。
  2. 我在使用密码初始化的客户端设备上有一个JSONStore。因此,存储中的数据将被加密。而且,此JSONStore通过适配器同步到服务器上的数据库。
  3. 我还设置了另一个适配器,该适配器通过使用存储在数据库中的另一组凭据来对用户进行身份验证。仅当应用程序在线时,才能对用户进行身份验证。

我想要做的是统一这两种方法,以便用户无需输入两组凭据即可访问这两组不同的功能。我想到的一种可能的解决方案是,加密JSONStore并执行适配器身份验证,而无需用户干预。但是我不认为这是安全的。

有解决此问题的建议或方法吗?

cnandreu

以下只是一个想法,我不是安全专家。

要求:

  • 要使用离线功能,您必须至少已在线且经过身份验证一次。
  • 您的应用程序必须具有登录视图才能输入一些凭据(例如,用户名/电子邮件和密码)。

脚步:

  1. 用户第一次输入正确的凭据并成功通过服务器进行身份验证:对凭据进行哈希处理。例如:var myHash = md5(loginField.getUser() + loginField.getPassword())您可以在Github上找到md5 JavaScript库
  2. 使用该哈希值初始化商店。例如:WL.JSONStore.init(..., {password: myHash})
  3. 通过HTTPS将哈希发送到后端,如果用户更改其凭据,则将需要它。无需将凭据或哈希保存在设备上(loginField = null; myHash = null)。或者,您可以仅在服务器上生成哈希并将其存储,而不必让客户端将其发送回去,只需确保客户端和服务器都使用相同的哈希算法即可。
  4. 脱机工作时,向用户询问他/她的凭据,对其进行哈希处理,然后使用它来访问存储中的数据。
  5. 如果用户更改了他/她的凭据(例如,通过您应用程序的Web界面),则哈希将有所不同,并且存储将不会初始化。但是,用户应该已经使用新的/有效的凭据成功通过了服务器的身份验证。向服务器询问旧的哈希,使用旧的哈希初始化存储,然后根据新的/有效的凭据更改密码以将存储初始化为新的哈希。例如:WL.JSONStore.changePassword(oldHash, newHash)

可选:您可能要考虑使用例如:var salt = Math.random(), myHash = md5(loginField.getUser() + loginField.getPassword() + salt)

您将需要将盐存储在某处,以便一旦用户返回到应用程序就可以重新生成哈希。您应该能够初始化另一个未加密的存储以将其持久化。例如WL.JSONStore.init(..., {username: 'metadata'}).then(function(){/*add salt to store*/})有关在此处使用两家商店的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Worklight在线+离线身份验证

来自分类Dev

从Worklight到域进行身份验证

来自分类Dev

Worklight中的登录身份验证

来自分类Dev

从LDAPRealm退出Worklight LDAP身份验证

来自分类Dev

IBM Worklight 6.1-身份验证之前的connectAs endUser

来自分类Dev

应用中的Worklight Push通知无需身份验证

来自分类Dev

如何计算当前在线的经过身份验证的匿名用户?

来自分类Dev

没有在Worklight中使用身份验证的推送通知中的错误

来自分类Dev

使用Worklight LDAP登录模块进行身份验证后获取AD属性

来自分类Dev

找不到Worklight自定义身份验证器URL

来自分类Dev

IBM Worklight适配器-未对https后端对等方进行身份验证

来自分类Dev

使用DoJo的基于Worklight单步适配器的身份验证

来自分类Dev

IBM Worklight 6.1.0.1,基于2个适配器的身份验证出现问题

来自分类Dev

IBM Worklight:基于适配器的身份验证成功后未获得响应

来自分类Dev

IBM Worklight 6.1:Windows Phone 8的经过身份验证的推送

来自分类Dev

在线使用MS Dynamics CRM 2016的REST Web API进行身份验证

来自分类Dev

是否可以使用服务主体在线针对Dynamics CRM进行身份验证?

来自分类Dev

从VS2010中的WinForms代码对Visual Studio Team Services(是TFS在线)的身份验证失败

来自分类Dev

Microsoft Azure 提供的在线存储和身份验证选项之间有什么区别?

来自分类Dev

Xamarin中的离线身份验证最佳做法

来自分类Dev

如何使用Web服务在基于Worklight Adapter的身份验证中验证用户名和密码?

来自分类Dev

一个会话中的Worklight适配器身份验证在另一个会话中共享

来自分类Dev

在线SharePoint:Windows客户端应用程序可以使用OAuth进行身份验证吗?

来自分类Dev

IBM Worklight离线支持

来自分类Dev

如何使用经过身份验证的用户名和密码离线下载网站?

来自分类Dev

从Worklight适配器对HTTPS服务器进行Web服务调用-javax.net.ssl.SSLPeerUnverifiedException:未对等身份验证

来自分类Dev

适用于Android的Worklight,基于适配器的身份验证,服务器上不存在应用程序

来自分类Dev

Mifare身份验证

来自分类Dev

Mifare身份验证

Related 相关文章

  1. 1

    Worklight在线+离线身份验证

  2. 2

    从Worklight到域进行身份验证

  3. 3

    Worklight中的登录身份验证

  4. 4

    从LDAPRealm退出Worklight LDAP身份验证

  5. 5

    IBM Worklight 6.1-身份验证之前的connectAs endUser

  6. 6

    应用中的Worklight Push通知无需身份验证

  7. 7

    如何计算当前在线的经过身份验证的匿名用户?

  8. 8

    没有在Worklight中使用身份验证的推送通知中的错误

  9. 9

    使用Worklight LDAP登录模块进行身份验证后获取AD属性

  10. 10

    找不到Worklight自定义身份验证器URL

  11. 11

    IBM Worklight适配器-未对https后端对等方进行身份验证

  12. 12

    使用DoJo的基于Worklight单步适配器的身份验证

  13. 13

    IBM Worklight 6.1.0.1,基于2个适配器的身份验证出现问题

  14. 14

    IBM Worklight:基于适配器的身份验证成功后未获得响应

  15. 15

    IBM Worklight 6.1:Windows Phone 8的经过身份验证的推送

  16. 16

    在线使用MS Dynamics CRM 2016的REST Web API进行身份验证

  17. 17

    是否可以使用服务主体在线针对Dynamics CRM进行身份验证?

  18. 18

    从VS2010中的WinForms代码对Visual Studio Team Services(是TFS在线)的身份验证失败

  19. 19

    Microsoft Azure 提供的在线存储和身份验证选项之间有什么区别?

  20. 20

    Xamarin中的离线身份验证最佳做法

  21. 21

    如何使用Web服务在基于Worklight Adapter的身份验证中验证用户名和密码?

  22. 22

    一个会话中的Worklight适配器身份验证在另一个会话中共享

  23. 23

    在线SharePoint:Windows客户端应用程序可以使用OAuth进行身份验证吗?

  24. 24

    IBM Worklight离线支持

  25. 25

    如何使用经过身份验证的用户名和密码离线下载网站?

  26. 26

    从Worklight适配器对HTTPS服务器进行Web服务调用-javax.net.ssl.SSLPeerUnverifiedException:未对等身份验证

  27. 27

    适用于Android的Worklight,基于适配器的身份验证,服务器上不存在应用程序

  28. 28

    Mifare身份验证

  29. 29

    Mifare身份验证

热门标签

归档