gpt4 book ai didi

azure - 如何在启用了 MFA 的 Azure AD 中对集成测试进行身份验证?

转载 作者:行者123 更新时间:2023-12-03 00:35:16 27 4
gpt4 key购买 nike

我们在 Azure AD 中启用了多重身份验证 (MFA)。当用户访问 protected 资源(网站)时,这完全没问题。然而,当尝试实现包含自动集成/验收测试的 CI 管道时,它会带来问题。为了解决这个问题,我们目前正在使用授权代码流通过应用程序 key 对应用程序进行身份验证。

但是,Web 应用程序支持基于角色的安全性,并根据用户的角色启用/禁用各种功能。这很容易手动测试,因为我们可以使用与不同角色关联的测试帐户登录应用程序。由于我们必须在自动化测试中使用授权代码流来规避 MFA,因此我们无法测试应用程序的安全性(除了需要经过身份验证的用户之外)。

是否有一种方法可以实现此目的,以便我们获得一个访问 token ,其中包含基于我们正在测试的特定角色的声明,就像以用户身份登录一样?

最佳答案

您可以使用 Auth0 授权扩展来根据角色和权限存储 token 。 https://medium.com/tojs/adding-groups-roles-and-permissions-to-a-jwt-access-token-in-auth0-827cc7df7662

我的建议是使用一个 token ,并在某处跟踪 USER 和 TOKEN_VALID_IF_ISSUED_AFTER 之间的关系。

此时,当用户注销时,当他们的权限发生变化时,当他们更改密码时,您可以使用 $USER_ID 和 NOW() 在此表中插入一条记录。

下次 token 通过您的 API 时,您将验证该 token 是否是在 TOKEN_VALID_IF_ISSUED_AFTER 之后通过 iat 声明颁发的 - 如果不是,用户将必须获取全新的 token 。

另请参阅提供解决方法的线程:Role based tokens ASP.net Identity

关于azure - 如何在启用了 MFA 的 Azure AD 中对集成测试进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51327941/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com