Android上的MAUI/Xamarin HttpClient在GET时未向API发送承载授权头

ppcbkaq5  于 2022-12-07  发布在  Android
关注(0)|答案(1)|浏览(301)

使用MAUI将GET调用从Android设备发送到需要Bearer身份验证的API。在HttpClient中设置Authorization头,如下所示:

client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token);

然而,在API端点处,根本没有接收到Authorization标头。
我们也尝试过发送带有显式设置的Authorization头的HttpRequestMessage,但仍然没有成功。

nue99wik

nue99wik1#

结果发现我们发送到的API同时运行在HTTP和HTTPS URL上。
在我们的android客户端配置中,我们发送到HTTP URL。
然后我们注意到我们的API被设置为重定向HTTP-〉HTTPS:app.UseHttpsRedirection();
因此,它原来是验证头剥离重定向!
Authorization header is lost on redirect
当我们将Android配置更改为直接调用HTTPS URL时,开始正确接收Auth头。

相关问题