.net core 获取Azure AD JWT令牌以在integrationtesting授权时使用

.net core 获取Azure AD JWT令牌以在integrationtesting授权时使用,.net-core,integration-testing,azure-active-directory,.net Core,Integration Testing,Azure Active Directory,我有一个Web API,其中一个用例要求一个用户提交订单,另一个用户批准订单。我想在运行自动集成测试时介绍此功能 到目前为止,我读到的所有内容都要求您注册应用程序等,这不应该是Nessary,因为API和所有客户端都已注册,我不想更改任何内容 我希望只有通过请求Azure AD Web API才能为用户获取JWT令牌,以便在测试过程中实现自动化。我最近刚刚为一个应用程序这么做,但它确实要求您注册一个应用程序。 我们有一个单独的Azure广告用于开发/测试,因此很容易在那里创建用户和应用程序 我所

我有一个Web API,其中一个用例要求一个用户提交订单,另一个用户批准订单。我想在运行自动集成测试时介绍此功能

到目前为止,我读到的所有内容都要求您注册应用程序等,这不应该是Nessary,因为API和所有客户端都已注册,我不想更改任何内容


我希望只有通过请求Azure AD Web API才能为用户获取JWT令牌,以便在测试过程中实现自动化。

我最近刚刚为一个应用程序这么做,但它确实要求您注册一个应用程序。 我们有一个单独的Azure广告用于开发/测试,因此很容易在那里创建用户和应用程序

我所做的:

  • 已注册应用程序以供集成测试使用,并授予其在开发/测试环境中调用API的权限
  • 创建了一对用户,我在API上为他们分配了不同的角色
  • 使用资源所有者密码凭据授予流在集成测试中获取令牌
    • 通常我不会使用这个流进行任何操作,但在这种情况下,我们确实需要进行非交互式登录
  • 使用不同的用户调用API,并断言响应符合预期
如果您不想创建另一个应用程序,则必须使用现有应用程序的密钥。
无论哪种方式,都需要一个客户端应用程序。

我宁愿不必维护单独的广告。现在,我将研究资源所有者密码凭据授予流…是的,我可以得到它。在这种情况下,需要更强的隔离,以便用户/应用程序只能访问虚拟数据。