您现在的位置是:济南网站建设 > 网站建设
微信access_token设计的原理解析
济南网站建设2024-09-20 10:56:34【网站建设】2人已围观
简介微信access_token设计的原理解析1、access_token是加密的字符串,其目的是为了接口安全考虑,不然随便就能调用微信服务器的接口会有很大风险。2、用户在公众号中填写的Token就相当于
微信access_token设计的微信原理解析
1、access_token是计的解析加密的字符串,其目的原理是为了接口安全考虑,不然随便就能调用微信服务器的微信接口会有很大风险。
2、计的解析用户在公众号中填写的原理Token就相当于本项目中的xiaoming,是微信签名验证中的一个参数,来保证签名的计的解析安全。
3、原理EncodingAESKey由开发者手动填写或随机生成,微信将用作消息体加解密密钥。计的解析
4、原理signature:微信加密签名,微信signature结合了开发者填写的计的解析token参数和请求中的timestamp参数、nonce参数。原理
5、timestamp:时间戳。
6、nonce:随机数。
7、echostr:随机字符串。
8、微信signature加密/校验流程:
(1)将token、timestamp、nonce三个参数进行字典序排序。
(2)将三个参数字符串拼接成一个字符串进行sha1加密。
(3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
9、OpenID:为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,OpenID是使用用户微信号加密后的结果,每个用户对每个公众号有一个的OpenID,开发者可通过OpenID来获取用户基本信息。
10、UnionID:用来区分用户的性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的UnionID是的。换句话说,同一用户,对同一个微信开放平台帐号下的不同应用,UnionID是相同的。
11、AppID:接口身份证号。
12、AppSecret:密码。
13、access_token:公众号的全局票据(登陆后的凭据,证明你已经登陆,相当于你拿着票去看演唱会,说明你已经买票了,才会让你进)。
14、expires_in:access_token过期时间,因为这里是第三方服务器调用,所以微信服务器必须返回告知给第三方服务器过期时间,从而让第三方服务器更好处理。
15、access_token使用注意事项:
(1)为了保密appsecrect,第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则会造成access_token覆盖而影响业务。
(2)目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡。
(3)3、access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。
16、access_token两小时过期时间的设计原因(网络解释):access_token的过期也是为安全考虑。
(1)想象一种情况,我授权了一个应用,它拿到了我的access_token,然后我忘记我授权过了,于是我以后每次发布的内容都被它拿去存起来,或者它利用我的账号偷偷的发消息,我一点都不知道。这种情况还是很可怕的。
(2)如果只是做登录,确实不需要accesstoken,因为已经有openid或者uid跟你的用户对应起来了。但是,这是授权行为啊,意味这第三方应用可以拿着accesstoken去取你的数据啊。所以这里就需要时效性来保证安全了。
17、微信access_token两小时过期时间的设计原因(自我理解):微信的token两小时刷新一次是因为第三方服务器接入微信服务器,目的是获取微信服务器中的数据,也就是所谓的第三方登陆,用户通过第三方服务器登陆,第三方服务器再去微信平台获取数据,这样就需要一个授权的过程,也就是说微信服务器同意你某个第三方服务器获取数据才行,为了把控这个授权过程,不会因为授权之后就一直能获取微信服务器数据这种情况的发生,所以才有了两小时刷新一次。
18、微信服务器接口访问次数限制:微信服务器接口访问限制次数是为了防止第三方服务器因为程序错误无限调用微信服务器从而使得微信服务器崩溃,所以才有的访问次数限制。
19、签名验证:验证消息的确来自微信服务器(本项目中为:验证参数的确来自于本项目安卓客户端)。
1、access_token是计的解析加密的字符串,其目的原理是为了接口安全考虑,不然随便就能调用微信服务器的微信接口会有很大风险。
2、计的解析用户在公众号中填写的原理Token就相当于本项目中的xiaoming,是微信签名验证中的一个参数,来保证签名的计的解析安全。
3、原理EncodingAESKey由开发者手动填写或随机生成,微信将用作消息体加解密密钥。计的解析
4、原理signature:微信加密签名,微信signature结合了开发者填写的计的解析token参数和请求中的timestamp参数、nonce参数。原理
5、timestamp:时间戳。
6、nonce:随机数。
7、echostr:随机字符串。
8、微信signature加密/校验流程:
(1)将token、timestamp、nonce三个参数进行字典序排序。
(2)将三个参数字符串拼接成一个字符串进行sha1加密。
(3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
9、OpenID:为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,OpenID是使用用户微信号加密后的结果,每个用户对每个公众号有一个的OpenID,开发者可通过OpenID来获取用户基本信息。
10、UnionID:用来区分用户的性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的UnionID是的。换句话说,同一用户,对同一个微信开放平台帐号下的不同应用,UnionID是相同的。
11、AppID:接口身份证号。
12、AppSecret:密码。
13、access_token:公众号的全局票据(登陆后的凭据,证明你已经登陆,相当于你拿着票去看演唱会,说明你已经买票了,才会让你进)。
14、expires_in:access_token过期时间,因为这里是第三方服务器调用,所以微信服务器必须返回告知给第三方服务器过期时间,从而让第三方服务器更好处理。
15、access_token使用注意事项:
(1)为了保密appsecrect,第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则会造成access_token覆盖而影响业务。
(2)目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡。
(3)3、access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。
16、access_token两小时过期时间的设计原因(网络解释):access_token的过期也是为安全考虑。
(1)想象一种情况,我授权了一个应用,它拿到了我的access_token,然后我忘记我授权过了,于是我以后每次发布的内容都被它拿去存起来,或者它利用我的账号偷偷的发消息,我一点都不知道。这种情况还是很可怕的。
(2)如果只是做登录,确实不需要accesstoken,因为已经有openid或者uid跟你的用户对应起来了。但是,这是授权行为啊,意味这第三方应用可以拿着accesstoken去取你的数据啊。所以这里就需要时效性来保证安全了。
17、微信access_token两小时过期时间的设计原因(自我理解):微信的token两小时刷新一次是因为第三方服务器接入微信服务器,目的是获取微信服务器中的数据,也就是所谓的第三方登陆,用户通过第三方服务器登陆,第三方服务器再去微信平台获取数据,这样就需要一个授权的过程,也就是说微信服务器同意你某个第三方服务器获取数据才行,为了把控这个授权过程,不会因为授权之后就一直能获取微信服务器数据这种情况的发生,所以才有了两小时刷新一次。
18、微信服务器接口访问次数限制:微信服务器接口访问限制次数是为了防止第三方服务器因为程序错误无限调用微信服务器从而使得微信服务器崩溃,所以才有的访问次数限制。
19、签名验证:验证消息的确来自微信服务器(本项目中为:验证参数的确来自于本项目安卓客户端)。
很赞哦!(698)
上一篇: 什么是专业网站建设制作?
站长推荐
友情链接
- 企业建设网站的目的是什么?
- 企业网站建设之网站需要哪些功能
- 【上线】津梁生活网站由沙漠风设计制作完成上线
- 网站优化应该有自己独特的思维和习惯
- 深圳网站设计:怎样才能做好深圳电商网站的设计?
- 深圳网站设计中的小技巧--企业网站如何设计
- 《我是歌手》总决赛即将开赛 歌单曝光
- 如何提高网站更深层次的访问-深圳网站建设分享
- 深圳网站建设告诉你:常见的WordPress保护和强化方法
- 利于网站优化的程序开发小技巧---深圳网站建设公司分享
- 小网页制作有哪些技术要点?
- 如何选择分栏式版面的排版类型
- 深圳福田网站建设设计,企业手机端网站建设有哪些建议?
- 微信小程序开发-深圳微信开发
- 别把网站建设中的设计看得太复杂
- 网站制作公司应该具备的优势有哪些?
- 浅析如何建立一个多语种网站(二)
- 网站建设好之后为什么要持续更新网站内容?
- 商城网站建设经营中不容忽视的几大要素
- 7大污染城市 十大污染城市 全球10大严重污染城市7个在