自定义 HTTP 授权标头

2024-01-07

我想知道将自定义数据放入 HTTP 授权标头中是否可以接受。我们正在设计一个 RESTful API,我们可能需要一种方法来指定自定义授权方法。作为一个例子,我们称之为FIRE-TOKEN验证。

根据规范,这样的事情是否有效并允许:Authorization: FIRE-TOKEN 0PN5J17HBGZHT7JJ3X82:frJIUN8DYpKDtOLCwo//yllqDzg=

第二个字符串的第一部分(在“:”之前)是 API 密钥,第二部分是查询字符串的哈希值。


中定义的格式RFC2617 http://www.ietf.org/rfc/rfc2617.txt is credentials = auth-scheme #auth-param。因此,同意 fumanchu 的观点,我认为更正后的授权方案将如下所示

Authorization: FIRE-TOKEN apikey="0PN5J17HBGZHT7JJ3X82", hash="frJIUN8DYpKDtOLCwo//yllqDzg="

Where FIRE-TOKEN是方案,两个键值对是验证参数。虽然我相信引号是可选的(来自 p7-auth-19 的附录 B)...

auth-param = token BWS "=" BWS ( token / quoted-string )

我相信这符合最新标准,已经在使用(见下文),并提供了用于简单扩展的键值格式(如果您需要其他参数)。

可以在此处查看此 auth-param 语法的一些示例...

https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p7-auth-19#section-4.4 https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p7-auth-19#section-4.4

https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin

https://developers.google.com/accounts/docs/AuthSub#WorkingAuthSub https://developers.google.com/accounts/docs/AuthSub#WorkingAuthSub

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

自定义 HTTP 授权标头 的相关文章

随机推荐

  • 我可以在 Visual Studio 2012 中编译和调试(运行)单个 C++ 文件吗? (如何避免创建过多的项目)

    我正在从一本书中学习 C 并使用 Visual Studio 2012 为了遵循本书的练习 我需要创建多个 cpp 文件 其中包含 main 函数 有什么方法可以编译 调试我的程序 而无需每次都创建新项目 例如 如果我写一个简单的 Hell
  • R 在使用 case_when 时提供参数(R 向量化)

    这是我之前提出的问题的后续问题 当存在大量类别 类型时 R 使用 case when R 向量化 应用多个函数 https stackoverflow com questions 62377561 r apply multiple func
  • wxpython如何退出Mainloop?

    我有一个 wxpython 应用程序 它的运行方式如下 if name main app wx App False frame MainWindow Application frame Show app MainLoop 应用程序的菜单栏上
  • 如何阻止三星手机上过多的对象创建?

    我在许多 Android 三星手机上遇到动画速度变慢的问题 我已经追踪到问题所在 是垃圾收集过多 但是 我的代码没有直接创建任何对象 这是 DDMS 中分配跟踪器的堆栈跟踪 at com samsung android multiwindo
  • 如何在Python中将整个序列推送到redis [重复]

    这个问题在这里已经有答案了 我可以用Redis rpush key 1 2 3 将三个元素推送到redis 但如果有一个序列 seq 1 2 3 Redis rpush key seq 它会将 seq 元素推送到 redis 但不会推送三个
  • 如何使用 Telegram Bot API 从电话号码获取 user_id

    我目前正在开发一个 Telegram 机器人 一旦你知道电话号码 它就能在 Telegram 中获取用户信息 主要目标是获取用户存储在 Telegram 中的所有用户信息 只需知道他 她的电话号码 因此 我尝试使用 Telegram Bot
  • TransactionScope 的层次结构

    是否可以有一个事务范围的层次结构 如果外部事务范围进行了处置 那么内部事务范围中所做的更改会发生什么 我的特殊问题是我的测试代码运行具有事务范围的代码 当我调用具有事务范围的第二组代码时 我得到 无法访问已处置的对象 事务 难道处置内层事务
  • C++ - 更改 X 窗口中的光标

    我以为这很容易找到 但谷歌搜索却毫无帮助 有没有一个简单的 API 可以改变 X 窗口中的鼠标光标 我知道在 Windows 中你可以只调用 SetCursor include
  • AVPlayer 动态音量控制

    如何动态更改 AVPlayer 的音量 我的意思是 我想在每次按下按钮时将音量静音 给定的代码似乎仅在编译时更改它 运行时怎么办 AVURLAsset asset AVURLAsset URLAssetWithURL self myAsse
  • 类路径中的 ICEfaces 库可防止文件下载时弹出“另存为”对话框

    一旦我将库icefaces jaricepush jaricefaces ace jar添加到我的类路径中以便使用ACE组件 我的另存为对话框就不会弹出吗 我不确定这是否是一个错误 但如果类路径中没有库 它就可以工作 这是我的另存为方法 p
  • 用 pyspark 之前已知的良好值填充 null

    有办法替换吗nullpyspark 数据框中的值与最后一个有效值 还有额外的timestamp and session列 如果您认为需要它们来进行 Windows 分区和排序 更具体地说 我想实现以下转换 session timestamp
  • 将数据从 glReadPixels() 转换为 OpenCV::Mat

    我想从动画中获取每个 OpenGL 帧glReadPixels 并将数据转换为OpenCV 垫 我知道glReadPixels 从下一层到上一层 从左到右 按行获取数据 另一方面 OpenCV 以不同的方式存储数据 有谁知道任何库或任何教程
  • 与 svn 的 SSL 协商失败

    我正在运行一个接受 https 请求的服务器 我已经生成了自己的证书 当在 Firefox 中访问该网站时 我收到未知证书错误 但这没关系 这 我认为 表明端口转发等有效 我正在尝试使用 svn 来解决这个问题 当在服务器上使用 svn 但
  • Java HttpURLConnection.getInputStream 但得到 401 IOException

    我正在用 Java 为 CouchDB 编写一个 REST 客户端 下面的代码应该是相当标准的 this httpCnt connect Map
  • 使用 PIL 或 Numpy 数组,如何从图像中删除整行?

    我想知道如何从图像中删除整行 最好是根据行的颜色 示例 我有一个高度为 5 像素的图像 顶部两行和底部两行是白色 中间行是黑色 我想知道如何让 PIL 识别这一行黑色像素 然后删除整行并保存新图像 我对 python 有一些了解 并且到目前
  • 当调用 onBlur 时,Firefox 中的 relatedTarget 为 null

    我正在尝试创建一条帮助消息 当用户单击切换按钮以显示帮助消息或通过单击页面上的其他位置来单击时 该消息将消失 解决方案似乎是查看relatedTarget的财产onblur事件并防止onblur处理程序从运行时relatedTarget是切
  • 如何在 Android 应用程序级别检查 SIM 卡锁定

    我正在寻找一种方法来查明 Android 设备是否已锁定 SIM 卡 我知道 efs 中应该是存储此设置的文件 问题是没有 root 就无法访问 efs USSD 代码如下 7465625 不再适用于 Samsung 设备上的 Androi
  • 用户控件与 Windows 窗体

    Visual Studio C 中的用户控件和 Windows 窗体有什么区别 非常简单地说 用户控件是一种制作自定义 可重用组件的方法 用户控件可以包含其他控件 但必须由窗体托管 Windows 窗体是控件 包括用户控件 的容器 虽然它包
  • 如何扩展 Google 地图中的共享位置 URL?

    我正在尝试从谷歌地图共享位置链接获取位置 因此我使用 Google Shorten URL API 来扩展 URL 但是当我从 Android 设备共享 Google 地图应用程序的 URL 时 它给了我https maps app goo
  • 自定义 HTTP 授权标头

    我想知道将自定义数据放入 HTTP 授权标头中是否可以接受 我们正在设计一个 RESTful API 我们可能需要一种方法来指定自定义授权方法 作为一个例子 我们称之为FIRE TOKEN验证 根据规范 这样的事情是否有效并允许 Autho