ASP.NET Mvc Api:设置cookie然后302/303 Redirect丢失cookie

我有一个API动作,返回一个HttpResponseMessage.
API地址如下: http://localhost/login?authcode=xxx

API操作执行一些登录身份验证,并将用户重定向到注册表或欢迎页面.代码如下:

var response = new HttpResponseMessage();
var cookie = new CookieHeaderValue("token","ThisIsTheTokenNeeded");
response.Headers.AddCookies(new CookieHeaderValue[] { cookie });
response.StatusCode = HttpStatusCode.Found;
response.Headers.Location = new Uri("http://localhost/welcome.html");
return response;

在welcome.html中,我使用“document.write(document.cookie)”并且看不到名为“token”的cookie.一些如何迷失.谁能告诉我如何完成这项工作或者这个架构毕竟不正确?

解决方法

我找到了答案.范围未设置.在我的原始代码中缺少以下行.
cookie.Path = "/";

由于重定向到另一个页面,即使在同一个域下,该cookie在不同页面上也无效.如果未设置路径,则Cookie仅对定位为http://localhost/login?authcode=xxx的原始请求有效

今天我了解到我需要仔细检查cookie的域名和路径属性,然后再声称有人吃了它.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....