如何解决如何使用转发 URL 执行 302 重定向
我们正在使用 Xamarin 和 UITest 为我们的应用程序创建 UI 测试。
我们正在使用 Azure API 管理进行集成,并尝试模拟我们的身份验证过程。 我们正在使用 Xamarin Essentials WebAuthenticator,它会打开外部浏览器以执行两步 OAuth 并加载登录页面。
由于 UITest 无法控制应用程序本身之外的任何内容,我们需要通过将 302 重定向返回到控制应用程序来让 API 管理响应,并使用我们模拟的测试身份验证令牌。
我尝试创建一个返回 302 的模拟响应,其中包含一个 Location 标头,其中包含应用程序返回 url 的值。但是,每当我在 APIM 测试页面中对此进行测试时,它只会返回 200 OK。
是否可以向 APIM 发出 GET 请求,APIM 执行 302 重定向到指定的 uri,并带有模拟测试数据的主体?
解决方法
您可以尝试使用退货响应政策。 类似于此示例的内容:
<when condition="@(context.Request.OriginalUrl.Scheme == Uri.UriSchemeHttp)">
<return-response>
<set-status code="302" reason="Temporary Redirect" />
<set-header name="Location" exists-action="override">
<value>@{
var uri = context.Request.OriginalUrl;
return Uri.UriSchemeHttps + "://" + uri.Host + uri.Path + uri.QueryString;
}</value>
</set-header>
</return-response>
</when>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。