V2EX a1528zhang
 a1528zhang 最近的时间轴更新
a1528zhang

a1528zhang

V2EX 第 189031 号会员,加入于 2016-08-27 14:01:50 +08:00
a1528zhang 最近回复了
288 天前
回复了 BlackHole1 创建的主题 分享创造 一款全新的工作流 IDE
@cheese app 内置了运行环境,这样分享代码的时候用 app 可以直接跑起来,不会有各种环境问题。
而且 app 内的编程体验也基本与 vscode 差不多
@Dlin 我理解 access token 用来访问的是授权方(比如 github 的 api ),我这里其实需要的是访问我们自己应用的后端,只需要一个登录成功的证明就行了
@fredweili 是的,其实就是 PKCE 了,但是 OAuth 签发的 Token 应该是无法主动失效的: https://auth0.com/docs/secure/tokens/revoke-tokens

不过我们重新获取 refresh Token 后,会让旧的 refresh Token 失效;由于我自己签算的 Token 是使用 ID Token + refresh Token, 也就达到了让前端 Token 失效的效果
@cat1879 我参考的参考他们的文档 https://auth0.com/docs/secure/tokens/refresh-tokens
1. refresh token 的时效性一般来说是比较长的,但是 id 和 access token 的时效会很短,但是如果我使用 refresh token rotate 机制的话 refresh token 的存在时间也会比较短
2. 我这边 token 只在第登录验证的时候会使用 appid 和 seceret 交互,但是之后可以使用 refresh token 进行刷新,就不需要 secret 了
3. 确实理论上我应该把 token 全部放在后端,然后我的后端再做一个单独的授权 token 给我的前端。但是这个行为本质上是给前端一个唯一的身份证明,所以我选择吧 id token 加密后生成一个新的 token 来承担这个功能,这样我也不用做签算机制了,少点工作。
@patrickyoung 感谢 我再去翻一下
@patrickyoung 是的,我把 ID Token 加密后作为身份认证,来访问我们自己的后端 api ,并没有访问授权方(比如 github )的 api 。所以应该不涉及 api 的调用,如果 我不用 ID Token 那么我也要自己生成一个 Token 给用户来证明他已经登录了。

所以当这个 token 被盗取了后,攻击者和用户都可以使用同一个 token 来调用我们后端服务 api ,然后我们的 api 中包含一个刷新 token 的 api ,所以攻击者和用户就都能不断获取新的 token 来保持永久登录。
@anonydmer 是的,我理解 access token 是用于访问我们申请权限的服务的 api ,比如我们接入的 github 的账号,然后我们拿到的 access token 也仅用于访问 github 的 api 。

ID Token 我是用作一个登录凭证,证明这个用户登录成功了,那么他可以调用我们服务端的 api 而不是 github 的 api 。所以我理解 ID Token 我应该没有用于请求,而是只用于身份证明。

那么这个身份证明被盗用后,我们后端是否有手段可以让这个特定的身份证明失效呢?
@iyiluo 嗯现在看来设备 ip 绑定是比较保险的做法,以后会做。因为我们做了 token 刷新的机制所以定期失效的手段没用了
@cheng6563 这个我考虑过,但是如果被窃的用户长时间不登录就没法挤掉
@javalaw2010 明白了,感谢解答。基本的安全策略比如 https ,http only 的 cookies 等我们还是实现了的。
同时我们的 refresh token 是每用一次就会更新一个新的存在后端。

风控手段是必须的我们准备以后会做。

其实我就是担心设备被黑客控制了以后,等于是用户账号永久失窃,而且连防御的手段都没有(除了刷新 client 的 app id 和 secret )。因为黑客可以用 token 不断刷新有效期。

主要是刚接触这个领域,怕还有更好的实现方式我不知道。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1437 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 14ms UTC 16:51 PVG 00:51 LAX 08:51 JFK 11:51
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86