ServiceStack 身份验证中 httponly ss-tok bearerToken cookie 的意义是什么

2024-05-26

我从安全角度理解 Set-Cookie 响应标头值的 httponly 标志的概念并防止 XSS 攻击。

我不明白的是,ServiceStack 对保存 bearerToken 的“ss-tok”cookie 做了什么。

根据服务堆栈文档 http://docs.servicestack.net/jwt-authprovider#request-jwt-cookie-is-set-on-authentication我可以通过发出无状态 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 。

我必须显式传递不记名令牌或用我的刷新令牌JsonServiceClient如中所述关于此事的 ServiceStack 文档 https://github.com/ServiceStack/servicestack-client#authenticating-using-jwt.

我一定做错了什么,我以为这个文档 http://docs.servicestack.net/jwt-authprovider#sending-jwt-using-cookies是我缺少的部分,这里的代码:

var client = new JsonServiceClient(baseUrl);
client.SetCookie("ss-tok", jwtToken);

但这段代码实际上没有任何意义,因为“ss-tok”的值没有发送到我的资源微服务,我必须像我之前所说的那样显式设置 bearerToken 值:

var client = new JsonServiceClient(baseUrl);
client.bearerToken = jwtToken;

这意味着我必须将 jwtToken 存储在我自己的 cookie 值中,因为我的应用程序需要在应用程序的不同区域创建 JsonServiceClient 的多个实例。


这是保存 JWT 令牌的 Cookie是否会在后续请求中发送 https://github.com/ServiceStack/ServiceStack/blob/7ad888b4d7ab50fc627eefc20369ad3178d64986/tests/ServiceStack.WebHost.Endpoints.Tests/UseCases/JwtAuthProviderTests.cs#L275像任何其他 Cookie 一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ServiceStack 身份验证中 httponly ss-tok bearerToken cookie 的意义是什么 的相关文章

随机推荐

  • Android 设备中未显示背景图片?

    我将以下代码添加到main xml将图像设置为我的应用程序的背景图像 android background drawable bg So main xml看起来像这样
  • 无需 root 访问权限即可安装 zsh? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有可能 以及如何 我确实需要在几台具有 ssh 访问权限 但没有 root 访问权限 的远程计算机上使用此功能 下载 zsh wget O zsh t
  • MySQL中的字符串分割函数

    谁能告诉我如何在 mysql 中实现 split 函数 其行为类似于 Javascript split 我想要一个这样的功能 SELECT Split a b c d AS splitted 结果如下 splitted a b c d 有谁
  • 如何在欧洲使用 Cloud Dataflow 区域终端节点?

    是否可以将 Google Cloud Platform Dataflow 作业的区域更改为欧洲 我已将管道区域设置为europe west1 d但我无法更改工作本身的区域 我尝试更改管道选项中的区域 但这会导致错误 并且只有默认区域有效 p
  • Flutter sqflite 插入列表

    我正在尝试将列表插入到 flutter 中的 sql 数据库中 但我不知道该怎么做 有人可以帮助我吗 当我初始化 mi 数据库时 我有这个 Directory documentsDirectory await getApplicationD
  • 使用其他非依赖构造函数参数进行构造函数注入

    我是 IOC 容器的新手 我正在开始使用 NInject 如果您希望您的构造函数具有非服务且不需要由 IOC 容器实例化的参数 您该怎么办 例如 public class Person private readonly string nam
  • 如何在 C++ 中对四元结构进行有效排序?

    我有一个包含 x y z 和 w 成员的结构 如何高效排序 在 C 中首先按 x 然后按 y 按 z 最后按 w 如果你想实现字典排序 那么最简单的方法是使用std tie实现小于或大于比较运算符或函子 然后使用std sort http
  • java.lang.ClassCastException:类 org.springframework.web.servlet.DispatcherServlet 无法转换为类 jakarta.servlet.Servlet

    我已经看到了与我类似的问题的答案 但我已经尝试了一切 错误并没有消失 据我所知 api servlet 类是由两个不同的类加载器加载的 因为 Web 部署程序集中有多个源 我尝试使用 servlet api 3 0 alpha 1 jar
  • 为什么 import numpy 不会自动包含 matlib

    我正在尝试使用水平重复 numpy array xa numpy matlib repmat x 1 3 但是 直接输入此内容会导致错误 我必须添加import numpy matlib为了a numpy matlib repmat x 1
  • “@required”注释作为错误而不是警告

    现在在我的 Flutter 项目中 当我用注释构造函数参数时 required当实例化构造函数时忘记它 我从 IDE 收到一条轻微警告 表明该参数是必需的 我希望这在 IDE 中显示为实际错误 有办法进去吗analysis options
  • 根据不同的列数据范围隐藏行

    我对使用 VBA 相当陌生 我正在尝试创建一个代码 该代码将查看具有不同数据范围的两个不同列 并隐藏最后一个数据点之外的行 引用两列 目前我有这个 Private Sub Worksheet PivotTableUpdate ByVal T
  • 正则表达式 - Python - 删除前导空格

    我使用正则表达式在文本文件中搜索 产品 一词 然后 我使用该搜索的起点和终点来查看该列并提取整数 有些实例 A 列 有我不想要的前导空格 我只想将数字 如 B 列中的数字 打印到文件中 没有前导空格 正则表达式中的正则表达式 有条件的 pr
  • 以小并发批量运行 Promise(一次不超过 X)

    Async 库具有类似的功能每个限制 https github com caolan async eachLimit它可用于将大量作业有效地分布在多个 CPU 核心上 如下所示 var numCPUs require os cpus len
  • Jlist 自定义渲染器

    我正在尝试添加一个我猜你会称其为列表中每个项目的子列表 我构建了一个自定义渲染器 它提供以下输出 正如你所看到的 有些东西不对劲 我没能找到问题的答案 我猜我需要更改面板布局中的某些内容才能获得正确的结果 但不知道是什么 https i s
  • MySql - 自动完成

    我正在创建一个 Ajax 自动完成应用程序 并且想知道是否有一个 SQL 查询可以用于此目的 例如 如果有人键入 p 我想检索所有以 p 开头的单词 如果他们添加 e 检索所有以 pe 开头的单词 并继续这样 有人提出了下面的查询 但我认为
  • 如何识别与给定地理围栏重叠的六边形?

    H3 API参考介绍polyfill 其思想是 在给定地理围栏周围定义的 k 环中的每个六边形上进行点多边形操作 问题是 我不明白 围绕地理围栏定义的 k 环 是什么意思 这是一个 环 它的中心实际上是整个地理围栏吗 如果根据六边形的中心位
  • 嵌套循环中的索引

    我是 R 和这个网站的新手 我的目标是创建一个 R 函数 在 ggplot2 中生成特殊类型的箱线图 这肯定是不必要的晦涩难懂的代码 我首先需要通过计算稍后希望绘制的变量来处理其中的潜在输入 我首先生成一些随机数据 称为datos c1 r
  • 如果“pip install”有效,为什么还要“sudo pip install”? (HelloAnalytics.py 的问题)

    Google 提供了一个示例 HelloAnalytics py 来演示如何使用谷歌 API python 客户端 https pypi org project google api python client 标题下方 2 安装客户端库
  • 如何实现 Android 浮动 SearchWidget

    I am trying to implement the search widget in the current android apps but just can t get it done and I ve not been able
  • ServiceStack 身份验证中 httponly ss-tok bearerToken cookie 的意义是什么

    我从安全角度理解 Set Cookie 响应标头值的 httponly 标志的概念并防止 XSS 攻击 我不明白的是 ServiceStack 对保存 bearerToken 的 ss tok cookie 做了什么 根据服务堆栈文档 ht