gpt4 book ai didi

oauth - 为什么要对 Authorization header 进行 base64 编码?

转载 作者:行者123 更新时间:2023-12-04 06:34:45 26 4
gpt4 key购买 nike

Twitter 的 API 需要发送一个 Authorization header ,该 header 是与 API key 连接的 API key 的 base64 编码。在节点中,我使用:

var base64 = new Buffer(apiKey + ':' + apiSecret).toString('base64');

发送的 header 变为:
Authorization: 'Basic ' + base64

base64 编码字符串“apiKeyHere:apiSecretHere”有什么意义?为什么不直接接受包含原始 api 凭据的 Authorization header ?

这个问题类似于 What is the purpose of base 64 encoding and why it used in HTTP Basic Authentication?但投票的答案并没有完全回答我的问题。 Twitter 的 api key 和 api key 已经是 HTTP 兼容字符。它们看起来像这样(这些不是真实的):

消费者 key (API key )8dme3utVQfOhlPk5BUG9XbFxR

消费者 secret (API secret )QFZXoC7MP72JZtGMBNpjLGI4Vl1xr1q9dyPLp3u7jGtkESpbLm

那么为什么base64编码呢?此外,该帖子指出“编码的目的是将可能在用户名或密码中的非 HTTP 兼容字符编码为与 HTTP 兼容的字符。”用户名和密码不是已经是 HTTP 兼容字符了吗?

最佳答案

RFC7617 中描述了基本身份验证方案。 (和旧的 RFC2617 )。

这是向服务器发送密码凭据的标准方式。
base64 编码用于对凭据进行编码,以允许发送非 HTTP 字符和多字节字符串。

关于oauth - 为什么要对 Authorization header 进行 base64 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33385497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com