是否可以对 Websocket 升级请求使用承载身份验证?

2024-02-22

打开WebSocket连接的升级请求是标准的HTTP请求。在服务器端,我可以像其他任何请求一样验证请求。就我而言,我想使用承载身份验证。不幸的是,在浏览器中打开 Websocket 连接时无法指定标头,这会让我相信不可能使用承载身份验证来验证 Web 套接字升级请求。那么——我错过了什么,还是真的不可能?如果不可能,这是设计使然,还是浏览器对 websocket API 实现的公然疏忽?


该 API 允许您仅设置一个标头,即Sec-WebSocket 协议,即应用程序特定的子协议。您可以使用此标头来传递不记名令牌。例如:

new WebSocket("ws://www.example.com/socketserver", ["access_token", "3gn11Ft0Me8lkqqW2/5uFQ="]);

服务器预计接受其中一种协议,因此对于上面的示例,您可以仅验证令牌并使用标头进行响应Sec-WebSocket-协议=access_token.

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

是否可以对 Websocket 升级请求使用承载身份验证? 的相关文章

  • 通过服务删除 Windows 登录屏幕

    我正在尝试从服务启动的可执行文件中删除 Windows 登录屏幕 winlogon 该服务将随 Windows 自动启动 并等待来自另一台计算机的命令 当它收到命令时 它将启动一个 exe 该 exe 将在特定用户名下启动 cmd exe
  • 如何使用 keycloak 强制每个客户端登录(最佳实践?)

    我们目前正在实施 keycloak 但我们面临着一个问题 我们不确定解决它的最佳方法是什么 我们有不同的网络应用程序使用单点登录 并且运行良好 我们遇到的问题是 当我们在一个 Web 应用程序中使用 sso 登录 然后在另一个 Web 应用
  • 在浏览器上验证 JWT

    我一直在读关于JWT https jwt io 我知道它分为三个部分 即header payload and signature 我将哈希算法保留在标头中 将基本信息保留在有效负载中例如 姓名 年龄 职务 有效期等在有效负载中 然后这两个都
  • 将 gsutil 与谷歌驱动器(不是谷歌云存储)一起使用

    gsutil https cloud google com storage docs gsutil csw 1 gettingstarted use 博托配置文件 https cloud google com storage docs gs
  • 如何通过 libwebsocket 发送异步数据?

    我正在将 Warmcat 的 libwebsocket C 库用于小型 Websocket 服务器 我已经启动并运行了这些示例 并且可以发送数据以响应从 websocket 接收数据 例如回显发送的反向字节 但是 我无法弄清楚如何在不使用
  • nginx代理认证拦截

    我有几个服务 它们支持 nginx 实例 为了处理身份验证 在 nginx 中 我拦截每个请求并将其发送到身份验证服务 在那里 如果凭据正确 我将设置一个包含用户相关信息的 cookie 现在 请求应该被路由到适当的服务 并设置 cooki
  • 具有用于角色授权的空间的 AD 组

    我正在尝试获得与 AD 组合作的角色授权 然而 由于它包含空格 它似乎不起作用 我尝试过没有空格的 AD 组 它们工作得很好
  • WPF 和 WCF 应用程序的用户身份验证/授权的“最佳实践”是什么?

    假设我有一个 NET 富客户端 WPF 应用程序 它将同时部署在 3 个不同的场景中 客户端和服务器代码在单个进程中运行 客户端代码在 Intranet 计算机上运行 并通过 WCF 与运行应用程序 域 基础设施代码的服务器计算机进行通信
  • AllowAnonymous 与 OverrideAuthorizeAttribute

    AllowAnonymous 和 OverrideAuthorizeAttribute 的使用有什么区别 是一样的吗 http www asp net web api overview security authentication and
  • React Native Android 无法连接到 WebSocket

    尽管 Web 实现可以工作 但 android 模拟器以及我的设备无法连接到 WebSocket 在引发错误的地方收到以下事件错误代码 然后断开连接 connection error Event isTrusted false messag
  • Grails + Spring Security:无法登录

    我刚刚开始学习Grails和Spring 我已经按照官方教程创建了一个登录系统 但我无法登录 用户名或密码不匹配 我知道 90 的情况下这是由于双重编码或多个数据源 这也导致双重编码 造成的 但我也没有这样做 class BootStrap
  • Jetty、websocket、java.lang.RuntimeException:无法加载平台配置器

    我尝试在 Endpoint 中获取 http 会话 我遵循了这个建议https stackoverflow com a 17994303 https stackoverflow com a 17994303 这就是我这样做的原因 publi
  • AWS Amazon - 登录循环卡住

    我已经使用 AWS 亚马逊几年了 但是 突然当我登录时 我进入了此验证部分 他们将验证码发送到我的电子邮件 我收到了该代码 因此 我输入收到的代码 最终返回登录页面 所以我登录后 同样的事情一遍又一遍地发生 我无法进入我的仪表板 它只是不断
  • Django + nginx + uwsgi 无法登录

    我有非常简单的登录逻辑 类似于官方 Django 解决方案 class Login FormView template name login html form class AuthenticationForm def get self a
  • 存储外部站点(不使用 OAuth)的用户凭据的智能方法是什么?

    我意识到 一般来说 您不应该直接存储用户凭据 即以纯文本形式 相反 最好存储它们的某种加密形式 但是 假设我创建了一个与其他第三方网站交互的网站 假设这个第 3 方站点提供了一个 API 需要用户的凭据 使用该站点 进行身份验证 如果我的目
  • php 中的简单授权/登录功能

    我希望第一次实现用户登录到我的网站 我很高兴构建自己的解决方案 或者实现一些开源的东西 但是到目前为止 在我的搜索中没有任何包是明显的选择 同样 我完全意识到 作为一名中级 php 程序员 如果我推出自己的解决方案 并真正敞开大门 我很可能
  • iPhone 应用程序在首次 Facebook Connect 授权/登录后崩溃

    我一直在到处寻找答案 但找不到 问题是 我有一个 iPhone 应用程序 在 AppStore 上 它使用脸书 iPhone SDK https github com facebook facebook iphone sdk 我使用 SDK
  • Ionic/Cordova 应用程序中的身份验证

    首先 我不是专业人士 在我成为一名更好的开发人员的过程中 我试图了解需要什么以及如何完成为 Ionic Framework 应用程序创建注册 登录 大多数单页应用程序 SPA 在节点服务器上处理身份验证 该服务器还为客户端提供 HTML 就
  • 将 access_token 存储在用户声明中以进行授权是否安全?

    因此 我在设置 IdentityServer4 时遇到了承载身份验证问题 基本上 我无法调用我的 API 资源并收到 401 错误 当我使用 access token 添加授权标头时 我能够从我的网络请求中获取数据 using var cl
  • Node.js 和 Passport 对象没有 validPassword 方法

    我正在使用 Node js Express Passport 创建一个简单的身份验证 本地 到目前为止我所达到的效果是 当输入错误的用户名或密码时 用户将被重定向到错误页面 但是当用户输入正确的用户名和密码时 我收到此错误 node mod

随机推荐

  • 扩展应用程序类 - 重新启动 Android 时强制关闭

    我有我的AppMain类 我的类名 扩展了Application我的应用程序中的类 有一些全局变量 我在清单里面提到过 我的应用程序运行正常 我的应用程序中有退出按钮 可以使用System exit 0 之后 当我使用启动我的应用程序时最近
  • 具有完整 C++11 支持的 Windows C++ 编译器(应与 Qt 一起使用)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 目前有哪些C 编译器completeWindows 平台上支持 C 11 吗 Microsoft 编译
  • Firebase:操作被拒绝,因为系统未处于执行操作所需的状态

    我开始在 Firebase 中使用集合组 但无法使其工作 我需要过滤它billable leases users portfolios rents 这里我有一个属性 它是一个租赁列表 不是集合 只是一个属性 称为leases具有一些属性 例
  • 远程接口无法转换为 EJB 容器

    我有一个名为 BookEJB 的 EJB 它实现了远程接口 BookEJBRemote BookEJB 声明如下 Stateless Remote BookEJBRemote class public class BookEJB imple
  • 如何解决错误:沙箱与 Podfile.lock 不同步

    当我在 Flutter 中添加新插件时 我的运行器 xcode 中出现以下错误 沙箱与 Podfile lock 不同步 运行 pod install 或更新您的 CocoaPods 安装 我已经安装了 CocoaPods 并更新了 我尝试
  • 图像延迟加载与 Intersection Observer API 问题

    每个人 我有 1609 张图像的图库 我正在尝试使用 Intersection Observer API 配置图像延迟加载 但遇到了问题 无论如何 我都可以立即上传所有图像 这意味着延迟加载不会不工作 下面是简单测试页面的完整代码清单
  • 如何计算 Oracle varchar 值中某个字符出现的次数?

    如何计算该字符出现的次数 在 varchar2 字符串中 Example select XXX 123 345 566 from dual 2 干得好 select length 123 345 566 length replace 123
  • Oracle/Sybase SQL - 根据先前的记录获取值(不是简单的 LAG)

    我的数据组织如下 Invoice Id Invoice Line Kit Flag Part Number AB12345 1 K KT 1234A AB12345 2 C 1234567 AB12345 3 C 1234568 AB123
  • Chrome 性能分析器中的“计时”选项卡缺失

    所以我成功地监控了我的 React Native 应用程序的性能Timings里面的部分表现 Tab of Chrome 开发者工具 突然在应用程序的特定重新加载后 Timings选项卡消失了missing 我尝试过重置 chrome 重新
  • 智能卡读卡器插件(卡已插入)事件

    背景 我正在创建一个Windows 10 通用应用程序它从智能卡 插入智能卡读卡器 读取一些数据并且工作正常 但在所有情况下 用户都应该触发从卡读取数据的过程 问题 如何在 UWP 中处理 卡插入事件 以便每次插入卡后都可以从卡中读取数据
  • 如何循环遍历从不同索引开始的数组,同时仍然循环遍历整个数组?

    假设我有一个包含 5 个字符串的数组 如何在索引 3 处开始 for 循环并循环并在索引 2 处结束 让我举个例子 var myArry cool gnarly rad farout awesome 想要从索引 3 farout 开始循环到
  • 如何通过 Azure 移动服务使用服务器端排序和分页

    我正在将 jqGrid inlineNav 与来自 azure 服务的数据一起使用 并且有兴趣了解如何通过 Azure 移动服务使用服务器端排序和分页 请分享对此的想法 Windows Azure 移动服务提供 REST API 可用于获取
  • 多对多自关系 Prisma - 一个字段

    我正在尝试使用 Prisma 和其他工具为我的应用程序创建一个友谊机制 在文档中 它显示了以下示例 说明如何创建多对多自关系 model User id Int id default autoincrement name String fo
  • 如何理解以下多维数组的奇特索引行为?

    我们注意到 对于多维数组来说 花式索引和切片的混合使用非常令人困惑且没有记录 例如 In 114 x np arange 720 reshape 2 3 4 5 6 In 115 x 0 0 1 2 4 5 shape Out 115 2
  • 将套接字绑定到网络接口

    如何将套接字绑定到特定的网络接口 我尝试使用setsockopt在服务器端 但客户端仍然可以通过 eth0 和 lo 接口访问服务 我可以通过使用设置特定的IP地址来实现这一点serv addr sin addr s addr 但我怀疑我们
  • 从代码加载 WPF 中的图像

    我一定在网上阅读了大量的解决方案 但由于某种愚蠢的原因我无法让它们工作 我的项目的 Resources 文件夹中有一个 jpg 图像 该图像设置为 构建操作 资源 不是嵌入资源 并且从不复制到输出文件夹 我的形象是not添加到我的 reso
  • EditText - 如何分隔在组或块中在 EditText 中键入的字符

    有没有一种方法可以在用户打字时将 EditText 中的字符分组到块中 示例 1234 4567 7890等等 我有一个支持数字且长度为 16 个字符的编辑文本 我想将它们分组在单独的块中以获得更好的可见性 editText addText
  • 现代版本的 WinDiff? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 VB6附带WinDiff 是否有免费的现代版本的 WinDiff 可以忽略大小写 除了最新 SDK 中
  • 使用PL/SQL删除大量记录

    我想使用PL SQL删除大量记录 这些记录由 DATE 字段标识 该字段标识上次修改记录的时间 我不想消耗太多资源 因此我认为应该限制要删除的记录数量 在我看来 伪列 ROWNUM 可以满足此目的 然后 我检查受更新影响的行数并重复 直到影
  • 是否可以对 Websocket 升级请求使用承载身份验证?

    打开WebSocket连接的升级请求是标准的HTTP请求 在服务器端 我可以像其他任何请求一样验证请求 就我而言 我想使用承载身份验证 不幸的是 在浏览器中打开 Websocket 连接时无法指定标头 这会让我相信不可能使用承载身份验证来验