我从安全的角度理解了用于Set-Cookie响应头的值的httponly标志的概念,并防止XSS攻击。
我不明白的是,ServiceStack用来保存bearerToken的"ss-tok“cookie做了什么。
根据ServiceStack documentation,我可以通过发出无状态JWT Cookie来转换为无状态会话,如下所示:
var authResponse = client.Send(new Authenticate {
provider = "credentials",
UserName = username,
Password = password,
UseTokenCookie = true
});UseTokenCookie设置为true。并且在成功认证后创建httponly "ss-tok“cookie。
然而,我似乎不能使用这个以"ss-tok“名称存储的令牌cookie来做任何事情。我显然不能用Javascript检索它,而且我似乎也不能让它在JsonServiceClient请求中发送。

我的ServiceStack资源微服务在任何安全请求中都不会收到"ss-tok“的值。我必须显式地为任何安全请求设置bearerToken。
我必须显式地将bearerToken或refreshToken与ServiceStack documentation on this matter中声明的JsonServiceClient一起传递。
我一定是做错了什么,I thought this documentation是我遗漏的部分,代码如下:
var client = new JsonServiceClient(baseUrl);
client.SetCookie("ss-tok", jwtToken);但是这段代码实际上没有任何意义,因为"ss-tok“的值没有被发送到我的资源微服务,我必须像我前面说过的那样显式地设置bearerToken的值:
var client = new JsonServiceClient(baseUrl);
client.bearerToken = jwtToken;这意味着我将不得不将jwtToken存储在我自己的Cookie值中,因为我的应用程序将需要在应用程序的不同区域创建多个JsonServiceClient实例。
https://stackoverflow.com/questions/47419921
复制相似问题