不解微信 access_token 的作用 - V2EX
15 replies    2015-07-13 16:01:43 +08:00
defia
    1
defia  
   Jul 12, 2015
这是你后端保存与微信服务器交互用的啊。
agate
    2
agate  
OP
   Jul 12, 2015
@defia 不是很理解, 可以具体介绍一下么? 我不理解的是 access_token 一样是明文的. 而且有 2小时 有效期. 这样不是等于一个"密码"么.
tini26
    3
tini26  
   Jul 12, 2015
只有你的设备能看得见的明文,对别人来说看不到,就是密文
crabRunning
    4
crabRunning  
   Jul 12, 2015 via Android
客户端只看到自己的而已
qiayue
    5
qiayue  
PRO
   Jul 12, 2015
access_token 不能暴露在网页里啊,网页里(其实是js里)需要的是已经计算好的签名 signature
而签名是根据当前网页 URL 来计算的,所以别人获取到了也没意义
wy315700
    6
wy315700  
   Jul 12, 2015
access_token是你的服务器和微信通讯用的,不是在客户端和微信通讯用的

你不会直接在网页里用JS和微信服务器通讯吧
agate
    7
agate  
OP
   Jul 12, 2015
@qiayue 哦~~~ 我理解错了. 原来 signature 是根据 url 计算的哦. 明白了. 谢谢你的解释

@defiacrabRunning @tini26 @wy315700 谢谢大家
djyde
    8
djyde  
   Jul 12, 2015
是明文,但是除非别人已经拿到了你的手机设备,否则别人不太可能远程获取到。
agate
    9
agate  
OP
   Jul 12, 2015
@djyde 是我不好... 误解了 signature 和 access_token 的区别. 明文的应该是 signature. 而且我不知道 signature 是根据 url 生成的...

但是我又有疑惑了. 那既然这样为啥不直接使用 appsecret 来生成 signature ?
sivacohan
    10
sivacohan  
PRO
   Jul 12, 2015
@agate

access_token表示用户对你的服务暂时授权了。
appsecret是腾讯分给你的用于区分你的服务和别人的服务,同时对你的服务进行加密的。
仔细想一下,就清楚这几个地方了。
iyoood
    11
iyoood  
   Jul 12, 2015
appsecret是没有时效的
agate
    12
agate  
OP
   Jul 12, 2015
@sivacohan @iyoood 根据微信的文档我的理解是

appsecret(没有时效) -[api]-> access_token(2小时) -[根据url和返回的token生成] -> signature

这些不都是发生在我服务器这端的么? 为什么中间需要一个这个 access_token?
mgcnrx11
    13
mgcnrx11  
   Jul 12, 2015
用了OAuth2.0协议,就继续用下去呗
zi
    14
zi  
   Jul 13, 2015
引用文档:
1、为了保密appsecrect,第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则会造成access_token覆盖而影响业务;
2、目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡;
3、access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。
----------------------------------------------------
业务服务器使用由中控获取的access_token比把appsecrect放在每一个的业务服务器要安全吧,就算万一中控的appsecrect泄露,只需要修改中控就可以了,不会影响到业务服务器
coolicer
    15
coolicer  
   Jul 13, 2015
没看到 js 可以取 access_token
About     Help     Advertise     Blog     API     FAQ     Solana     2773 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 48ms UTC 11:43 PVG 19:43 LAX 04:43 JFK 07:43
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