我为部署在 azure 上的应用程序编写 API 自动测试(使用 C#、HttpClient)。添加了授权 - 使用 Azure Active Directory 进行身份验证和使用 Bearer 方案的 JWT 授权。当然,我所有的测试现在都以 401 错误失败。要修复它们,我需要获取 Bearer 令牌并将其添加到请求标头中。有很多教程如何做到这一点,但主要思想是我需要在 Azure 上注册我的自动测试应用程序并使用它的秘密将 POST 请求发送到 login.microsoftonline.com/{tenant}/oauth2/v2.0/token。在我之前使用 apigee 的项目中,它非常简单 - 使用 creds 和 apikey POST JSON 并获取令牌作为响应。是否可以在 Azure 上不注册虚假应用程序的情况下获取令牌,只需使用我的测试用户凭据发送一些请求?就像在 apigee 上可以做的那样?
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
实际上我没有在 Azure 上注册应用程序就解决了这个问题。我走了另一种方式,并使用 HttpWebRequest 类模拟登录抛出 MS 表单。所以没有 UI 部分,只有三个 http 请求,这非常适合我的 API 自动测试。很大的优势,我可以为不同访问级别的用户测试应用程序行为,而不必在 Azure 上注册许多虚假应用程序来模仿不同的用户。
白衣染霜花
TA贡献1796条经验 获得超10个赞
如果不是注册的应用程序,您将从哪里获得凭据?你需要来自 Azure AD 的签名令牌。如果您证明您的应用程序的身份并且 AAD 确认它,它只会给您一个。您必须注册测试应用程序。
- 2 回答
- 0 关注
- 140 浏览
添加回答
举报
0/150
提交
取消