我正在对用户登录使用Microsoft Azure身份验证,
用户登录后,我的应用程序中有一个更改密码部分,其中用户提供了他的当前密码和新密码,所以我的查询是
是否存在任何要获取该用户当前密码的Api(图形)或我们用来验证用户提供的当前密码的任何API(图形)
是否还有其他方案可以帮助我验证用户在更改密码时提供的当前密码
或通过其他任何方式获取该用户的当前密码
谢谢
答案 0 :(得分:2)
无法获取用户的当前密码。 这将是一个巨大的安全漏洞,这意味着它们不安全地存储它们。
有一种方法可以对用户进行身份验证,但是如果用户具有例如外交部。
我建议采用另一种方法。 检查身份验证的年龄(id令牌具有发出它的时间)。 如果比15分钟要早,则要求用户通过AAD进行身份验证(提示=登录)。 如果您知道所有用户都使用MFA,则也可以要求MFA进行登录。 然后他们应该能够提供一个新密码,然后可以使用Graph API进行设置。
因此,无需打电话来检查当前密码,而是需要一个新的ID令牌并依靠AAD来检查用户凭据。
此外,用户应该已经可以自己按照文档https://docs.microsoft.com/en-us/azure/active-directory/user-help/active-directory-passwords-update-your-own-password
中的说明进行更改。