我有一个受B2C Cookie身份验证保护的Blazor服务器端应用程序。
一切正常,用户可以登录。我有一组控制器,用于检索项目中要确保通过身份验证受到保护的数据。
从Blazor服务器端代码中,我启动了HTTP Client Factory,以调用我的API端点。所有操作在本地都正常,因为我必须手动将Cookie数据传输到HTTP客户端。
但是,当我推送到Azure时,HTTP上下文为空,并且我无法访问Request.Cookies传递数据。
private void SetAuthCookie(HttpRequestMessage httpRequestMessage)
{
var cookie = HttpContextAccessor.HttpContext.Request.Cookies.SingleOrDefault(c => c.Key == UIConstants.WebSessionCookieName);
httpRequestMessage.Headers.Add("Cookie", $"{cookie.Key}={HttpUtility.UrlEncode(cookie.Value)}");
}
反正通过Cookie服务器值传递HTTP客户端吗?