从 Worklight 开发的移动应用程序更改用户 Maximo 密码
Posted
技术标签:
【中文标题】从 Worklight 开发的移动应用程序更改用户 Maximo 密码【英文标题】:Change a users Maximo password from a Worklight developed mobile app 【发布时间】:2016-07-04 12:38:38 【问题描述】:我们使用 IBM Worklight 开发了自己的移动应用程序,该应用程序与 Maximo 交互。目前,所有用户都必须拥有一个在创建时使用默认密码设置的 Maximo 帐户。当移动用户登录到应用程序时,他们的凭据将通过 Maximo 进行验证,并酌情授予/拒绝访问权限。
我想要做的是强制用户在首次登录时(通过移动应用)更改密码,然后每隔 (x) 天更改一次。
有谁知道是否存在可以调用的现有服务/方法来执行此操作? (这将是我的首选方法)。
我知道用户密码作为加密字符串存储在数据库中,如果可以复制相同的加密方法,我可以用新的字符串覆盖现有字符串。但是,使用的加密方法是什么?它是如何实现的?
欢迎任何建议/信息。
非常感谢,克里斯。
【问题讨论】:
1.要求用户每 (x) 天更改一次密码是一种可怕的方法,会导致密码非常糟糕,当想出并记住密码的努力经常无效时,用户会放弃创建好的密码。 2. 不要存储加密密码,这是攻击者想要的,所以当他们获得数据库和加密密钥时,他们将拥有所有密码。相反,您需要保存已用随机盐处理并迭代长达 100 毫秒的密码。使用方法,例如 PBKDF2、bcrypt、password_hash、脚本或类似函数。 以下是一些最佳实践链接:请参阅 OWASP(开放式 Web 应用程序安全项目)Password Storage Cheat Sheet。请参阅 Security Stackexchange 上的 How to securely hash passwords, The Theory。 嗨 zaph - 感谢您的信息。我应该指出,这是一个仅供内部员工使用的企业应用程序,并且只能从私人应用程序商店获得。因此,它必须遵守公司密码策略,因此需要强制更改密码。否则,出于您上面指出的原因,我会实施其他方法。主要的加密例程(必须匹配 Maximo,除非我可以以某种方式调用 Maximo 例程?)将在服务器端实现。这使他们远离用户并在几层安全之后...... 啊,我明白了,这个概念是攻击者永远不会想要这些信息,因为它仅限于企业。不允许攻击者访问仅限企业的数据。永远不会发生。 这不是我的意思。该应用程序是端到端安全的(至少尽可能安全),我们让第 3 方对所有内容进行笔测试以确保。我需要做的是强制根据公司政策更改密码(这很容易)。但是,我需要在服务器端调用 Maximo 密码加密方法,或者自己复制它(这是我目前缺少的部分)。 【参考方案1】:有谁知道是否有可以调用的现有服务/方法来执行此操作? (这将是我的首选方法)。
Worklight/MobileFirst 中没有任何内容可以为您执行此操作。如果这是您想要做的,您需要编写自己的自定义逻辑(自定义身份验证器):https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.1/authentication-security/custom-authentication/
我知道用户密码作为加密字符串存储在数据库中,如果可以复制相同的加密方法,我可以用新的字符串覆盖现有的字符串。但是,使用的加密方法是什么?它是如何实现的?
目前尚不清楚您所说的是哪种加密方法。默认情况下,Worklight/MobileFirst 会加密数据库中的任何内容,因此听起来这是自定义的 Maximo 行为。您可能想通过打开 PMR 联系 Maximo 支持...
【讨论】:
以上是关于从 Worklight 开发的移动应用程序更改用户 Maximo 密码的主要内容,如果未能解决你的问题,请参考以下文章
IBM Worklight - 开发移动 Web 应用程序有啥优势?
我无法在 Worklight 开发服务器上运行我的移动应用程序
IBM Worklight 6.0 - 如何更改 wlclient.properties 中的 wlServerHost 值