请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,像github,OpenAI 中的key,用的是哪个方案?

如题,

  1. 像 ChatGPT 的 api key,本质上是什么方案吗?根据 key的有效期有多长由后端来决定 这一点来看,似乎不像是 JWT 方案,而根据 key 在有效期内一直不变这一点来看,又不像是 reids + token 方案。
  2. 那它是怎么管理这个key的有效期的,比如说,这个key的有效期是3个月,充值后,key的有效期为400天。
  3. 现在redis + token 的方案是不是过时了,我看到网上很多资料都是说的JWT,而redis+token方案的资料很少。

谢谢老师解答我上述3个问题,附,我问了gpt 问题1,它没有回复我是哪个方案,说是保密。

正在回答

1回答

这种肯定要用上数据库的,为每个会员生成一个key,key是不变的,有张表存储key及过期时间,当充值时,就更新过期时间,加上相应的天数。

跟第三方接口的对接,经常会用到这种key的设计,比如我的新课里会对接短信、视频点播服务、智能语音服务、支付宝等,都会有这种key的设计

0 回复 有任何疑惑可以回复我~
  • 提问者 慕神4535282 #1
    请问老师,
    1. OpenAI 网站用户名密码登录时,用的是哪种方案呀,JWT 还是 token + redis,这个怎么看出来(它用的是哪种方案呀)?
    2. OpenAI 的API key 申请创建的key,用的是老师您在《副业》新课中说的 key 设计方案吗?新课中在详细描述和代码示例吗?请问新课中这种key设计是属于除了 JWT 和 token +redis 之外的第3种方案吗?
    回复 有任何疑惑可以回复我~ 2024-05-20 09:57:35
  • 甲蛙 回复 提问者 慕神4535282 #2
    感觉你还是将登录的key,和API交互的key搞混一起了,这是两个不同作用的key。
    1. 登录的key,用的是JWT还是token+redis,一般可以看你发起请求时带的header里有没token或Authorization等关键字,OPENAI有Authorization这个,而且值和JWT的值很像,可以判断是用JWT。
    2. API key每个人申请后,就固定下来了,不管你登录不登录。这种Key就是最简单的字符串比对,key的生成可以用md5生成32位随机数或者更长。你所有的API请求都带上key,OPENAI就拿key去库里比对是否存在,存在且是有效状态,就校验通过
    回复 有任何疑惑可以回复我~ 2024-05-29 11:44:05
  • 提问者 慕神4535282 回复 甲蛙 #3
    回复 甲蛙:1. 既然它登录的key用的是 JWT 方案,那当年刚出来时它很火的时候,为什么可以做到说封就封的,比如说昨天明明可以登录进去,今天再登录就提示出错了。JWT 内部不是携带有效时长吗?为什么这个JWT有效期还在生效中,服务器方面却可以做到说封就封的?
    回复 有任何疑惑可以回复我~ 2024-05-29 14:58:46
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信