c# - 当操作以对 Challenge(AuthenticationProperties, string[]) 的往返结束时未保存 Cookie
问题描述
我们有一个正常的操作方法,我们在其中执行以下操作:
CookieOptions cookieOptions = new CookieOptions
{
IsEssential = true,
SameSite = SameSiteMode.None,
Secure = true,
HttpOnly = false
};
HttpContext.Response.Cookies.Append("helpmework", "1", cookieOptions);
return Challenge(authenticationProps, scheme); // Request following this call does not contain above cookie
return Ok(); // next request successfully contains cookie
基本上,如果我们通过调用来结束方法,Challenge
从 继续运行的部分代码,Challenge
最终不会添加 cookie。如果我们首先添加 cookie(在单独的请求中),然后尝试使用 执行上述操作Challenge
,我们可以看到 cookie 就好了。
所以问题似乎是,如果我在我希望通过 授权的同一个请求中添加一个 cookie Challenge
,该 cookie 仍然没有保存在HttpContext
接下来的Challenge
调用中,这就是我最终使用 cookie 的原因摆在首位。
我认为在发送实际响应之前不会保存 cookie,这可能解释了为什么会发生这种情况。我遇到的问题的任何替代方案?
解决方案
推荐阅读
- sql - 计算重复状态的迭代次数
- python-3.x - 如何将此脚本放入函数中?
- google-bigquery - 为什么我的 Stackdriver 导出接收器仅将最新的审核日志加载到 BigQuery 中而没有历史记录?
- server - 无法读取未定义的属性“getCompilationErrors”
- javascript - 我的函数返回值得到一个空字符串
- sql - 仅选择具有 COLUMN= 的行
如果匹配存在,否则 COLUMN IS NULL - python-3.x - 使用 Pandas 在唯一标识符上连接两个数据框并在列中指定的日期之间求和
- python - Scrapy - 与 start_requests 方法等效的 SitemapSpider
- linux - 关闭 QMenu 时在 Mac OS 和 Linux 上发出的 QEvent 类型的差异
- r - 将计数数据框转换为 R 中的单个观察值行