获取任何AAD用户的令牌

时间:2018-10-03 19:20:02

标签: c# azure-active-directory

我为开发人员(当然仅对开发环境)实施模拟设置了一个要求。我想知道是否可以在不知道密码的情况下为任何AAD用户请求令牌。我想要的流程是:

  1. 开发人员转到Web应用程序以选择要模拟的用户。
  2. Web应用程序检查开发人员是否在AAD中。
  3. Web应用程序检查开发人员是否具有模拟的必要权利。
  4. Web应用程序返回对开发人员选择的用户有效的令牌。
  5. 开发人员可以使用此令牌针对API进行身份验证,并且出于所有意图和目的都是模拟用户。

也欢迎使用这种方法的任何替代方法。

1 个答案:

答案 0 :(得分:0)

否,您不能模拟这样的用户。 如果您知道他们的密码并且他们没有MFA等,则可以使用“资源所有者密码凭据”授予流程来获取访问令牌。

但是,如果您想以更好的方式进行操作,则可以让希望模拟的用户登录到您的应用程序。 为他们获取访问令牌+刷新令牌。 然后安全地存储刷新令牌。 现在,您可以随时使用刷新令牌以及应用程序的客户端凭据来获取该用户的令牌。 刷新令牌可以而且确实会过期,例如,如果更改了用户密码。 但这可以使您实现所需的内容。