V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zxjxzj9  ›  全部回复第 1 页 / 共 6 页
回复总数  119
1  2  3  4  5  6  
@litchinn 答案是其实根本就不需要续签,针对第一方应用的时候,验证信息(账号密码 passkey 等)全都保存在第一方后端里,发行任何 token 都需要完整信息验证,这种情况下是续签是为了续签而续签(降低数据库访问),是实际操作上的处理,而并非 refresh token 设计出来的本意。oauth 2.0 之所以设置成两个 token ,是因为标准上来说,oauth2.0 希望客户端无法知道第三方给的 access token 内部的具体细节,而给了 refresh token 就相当于第三方信任了当前客户端,并且留了一手可以随时撤销授权的能力。 在进行授权操作的时候,第三方完全可以不给 refresh token ,只给 access token (比方说第三方登录的时候只给一个 access token 来让当前客户端拿到用户名,不给继续访问后续信息的权限)。
@lusxh 操作上当然都可以,你把 refreshtoken 做成过期时间很长的 jwt ,每次校验 refresh 的时候也不用过数据库。问题就在于这样做拆分就没有意义了,直接用 access token 校验不就好了么。你这样问的就是,我不查数据库有没有办法维护一个 token 的状态,那答案肯定是否定的。

不过 oauth2.0 并没有规定这些乱七八糟的,这个框架只明确规定了客户端应该利用获取 access token 这个行为来获得第三方网站的授权,注意是第三方,而不是在客户端上直接输入第三方网站的密码来获取授权。access token 在标准里也就说了是一个授权字符串,refresh token 是获取 access token 的字符串,根本没人管你怎么验证。你实现成第三方客户端只要把 114514 填进 access token 发给你就算 Authorized ,refresh token 只要是 1919810 你就返回 114514 都没人管你。

只不过后面 jwt 等无状态 token 的技术出现了,大家就开始往这个标准上套,然后总结出一套最佳实践就是无状态 access token+有状态 refresh token ,其中无状态 access token 就可以直接用 jwt 的方式实现(也有不用 jwt 的,google oauth api 就不是 jwt )。这样不管是第一方还是第三方的验证,都可以在无状态和有状态验证的优缺点之间取得一个平衡。还有不少人其实连 oauth 2.0 一开始是给第三方授权的都不知道,第一方授权也这么写,然后不知道这标准为什么要这么定义,就去硬套说什么给用户无感刷新用,这就是为了凑个理由强行说了。你第一方对自己的客户端,直接把 refreshtoken 做成 jwt 一直无状态也没人管你,反正发行 token 的时候用户肯定要敲账号密码的,账号密码也都存在你这里,谁来管你呢?
理论上一直用一个 token 来鉴权也不是不行,问题就在于 jwt 这样的无状态 token 不改秘钥不设置过期时间,token 发下去就会永久有效。为了让服务端有办法能让 token 过期但是又利用无状态特性,实践上把这一个 token 拆成两个,验证的时候用 access token ,让鉴权的时候不需要访问数据库直接端侧完成。refresh token 完全可以理解成一个 session id, 只要会话不过期服务端就可以给你续签,好处就是直接把请求 db 的次数用 access token 全压下去了。 这两个 token 也没明说非要用 jwt ,只不过如果要用的话全用 jwt 可以少造点轮子。
15 天前
回复了 red13 创建的主题 程序员 chatgpt 还是比豆包要聪明太多。。。
@73c685dc grok 主要是能搜推特,东西多,纯聊天场景比 gpt 合适,而且回你的话更像人话一点。我现在看到 gpt 那个固定行文都有种恐怖谷的感觉。
@dynastysea 这就和国内运营商的便宜网络一个道理,看着好像套餐便宜,实际上上行只有下行十分之一,带个固定公网 ipv4 能上天,不自己懂一堆网络知识别说翻墙了运气不好 dns 被劫持天天看 12345 ,实际上除了付的钱稍微少了点其他和国外比都是垃圾。vps 主要卖的就是带宽,你带宽只有人家十分之一,价格乘十倍才能算得上和人家在一个起跑线上,和国不国情有什么关系,我又不需要考虑这些
@dynastysea 说反了吧,你直接去买国内的包比国外贵的,国外的上来都是 1Gbps 带宽,国内都是小水管
肯定是御三家最强。实际体验综合价格现在反而是被喷的最多的 openai 家最好,尤其是 5.2 一下上下文拉的超级大,很多时候可以不仅只是写代码,还能写那种非标准代码的自定义规则表达式,准确度比起之前的各种模型提升真的超大,真的是帮大忙了
22 天前
回复了 cmos 创建的主题 程序员 要是用 Rust 就不会出问题了
谁说的用 rust 就不会出问题,Cloudflare 一行 rust 代码把全世界互联网干碎一晚上不记得了?
上班 Elecom 轨迹球,下班雷蛇巴蛇 v3 有线版。其实我更喜欢轨迹球因为这东西不需要任何大面积移动区域,但是电脑多多少少还是需要打点游戏的所有还是保留了一个鼠标。 轨迹球是 elecom 的 M-XT3DRBK ,这款比起他家的其它款&罗技的那些都要体积小很多,而且对手掌支撑非常好,是个很不错的模具,就是手太大的可能会嫌小。还有一个就是轨迹球实在是个小众产品导致更新太慢了,这款入门款一直就没有蓝牙的三模款式,非常难受。
36 天前
回复了 zhuwd 创建的主题 软件 UU 远程现在支持 mac 被控了
UU 远程在局域网内和 sunshine moonlight 串流比怎么样? 4:4:4 能比 sunshine 原生的哪个 hevc 颜色好吗?
我一般用 vscode 的 Database Client by cweijan 插件和 beekeeper studio ,这俩拿来 crud 都绰绰有余了,检查数据用用挺轻松的。真的有复杂查询让 cursor 提前拉表格结构帮你把 sql 写出来丢进去跑就完事了
37 天前
回复了 CNN 创建的主题 Android 安卓大厂的直播,可能都是用 iPhone 😂
有一说一很正常,拍视频,直播这块现在安卓全部加起来甚至达不到 iPhone15pro 的水平(这个截图上应该就是 iPhone15pro )。 任何视频工作者只要苹果的 prores 数据流能够覆盖需求,那用起来真的是丝般顺滑,安卓是真比不过
这 ide 改文件改到一半把我原来写的脚本给删了,刚好我是打算做个一次性脚本处理表格没做 git ,给我人都闹麻了,最后还是靠 cursor 救回来的。之后我就不用了..
46 天前
回复了 z1s23 创建的主题 Apple 讲一个你最离不开苹果生态的原因?
内外兼容性太好了,懒得换而已。安卓手机离开国产后大部分根本就碰不了苹果,国产又是各种反诈+封闭,没意思,捡点垃圾玩玩就行
50 天前
回复了 ThinkWord 创建的主题 NAS 扒拉算了一下, NAS 电费比 115 还贵
6 个硬盘天天挂机也不要这么多功耗啊。 建议你做种的硬盘换成那种无缓 SSD ,其他的 HDD 就当普通冷存储,拿 hdd 当缓存,然后整个 intel 的带 T 的 cpu ,至少砍掉一半待机功耗
rustdesk 毕竟也不是打游戏用的,而且 rustdesk 支持的客户端类型比这些商业软件多很多。
53 天前
回复了 Elision 创建的主题 服务器 求推荐一个家用开发服务器配置
cpu 新一点就 ultra5 255f ,旧点无所谓就 7600 ,然后装个 itx 或者小型 matx 就可以了,小主机的散热确实问题大,尤其感觉你这机器还是要跑一些编译之类的活的
google 账号不在智能设备或者多出地方登录的话那个验证会变得严格很多。如果你的什么手机 ipadmac 乱七八糟的地方都登陆了,他会风控降不少,你只要找一台别的设备确认一下就行了
@wm5d8b 用来用去最简单的就是发邮件... 超过发邮件的部分我给自己的 nas 写了一个小前端 能够通过网页收发文件,也可以勉强用(给这个网页添加一个留言板功能就可以做到来回传文字了,但是我懒得写)。这个方法对 ios 接文件比较麻烦,不过这个需求应该是相对小众的
买个 apple tv 完事了,不行装个小主机。电视他就是个显示器,电视自己的系统你就当他不存在就行了
1  2  3  4  5  6  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   785 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 21:44 · PVG 05:44 · LAX 13:44 · JFK 16:44
♥ Do have faith in what you're doing.