线上服务咨询
微信access_token设计原理分析
微信access_token设计原理分析1,access_token是一个加密字符串,其目的是为了接口安全考虑,否则调用微信服务器的接口可能非常危险。 2.用户在公共账户中填写的令牌相当于项目中的xiaoming,这是签名验证中的一个参数,用于确保签名的安全性。 3. EncodingAESKey由开发人员手动填写或随机生成,并将用作邮件正文加密和解密密钥。 4,签名:微信加密签名,签名结合开发人员填写的令牌参数和请求中的timece参数,nonce参数。 5,时间戳:时间戳。 6,随机数:随机数。 7,echostr:随机字符串。 8,微信签名加密/验证过程:(1)令牌,时间戳,nonce三个参数用于字典排序。 (2)将三个参数字符串组合成一个用于sha1加密的字符串。 (3)开发人员获取加密字符串并将其与签名进行比较,签名用于标识来自微信的请求。 9. OpenID:为了识别用户,每个用户将为每个公共号码生成安全的OpenID,OpenID是用户。由于加密微信,每个用户对每个公共号码都有一个OpenID,开发人员可以通过OpenID获取基本用户信息。 10. UnionID:用于区分用户的性取向,因为只要它是同一个移动应用程序,网站应用程序和公共帐户下的微信开放平台帐户,用户的UnionID就是。换句话说,同一用户,UnionID对于同一微信开放平台帐户下的不同应用程序是相同的。 11,AppID:接口ID号。
12. AppSecret:密码。 13,access_token:全局账单的公共号码(登陆后登录,证明你已经登录,相当于持票看到演唱会,表明你已经买了票,会让你进入)。 14,expires_in:access_token到期时间,因为这是第三方服务器调用,所以微信服务器必须返回第三方服务器到期时间,这样第三方服务器处理得更好。 15,access_token使用注意事项:(1)为了保密,第三方需要access_token来获取和刷新中央控制服务器。其他业务逻辑服务器使用的access_tokens都来自中央控制服务器,不应单独刷新。否则,access_token将被覆盖,服务将受到影响。 (2)access_token的当前到期日期由expired_in传送,该当前时间在7200秒内。中央控制服务器需要根据该有效时间刷新新的access_token。在刷新过程中,外部控制服务器仍然输出旧的access_token。此时,公共平台背景将确保新旧access_tokens在短时间内可用,从而确保第三方服务的平稳过渡。 (3)3,access_token的有效时间可以在将来调整,所以中央控制服务器不仅需要内部定时主动刷新,还需要提供一个被动刷新access_token的接口,这样服务服务器才能了解在API调用已知后access_token已超时。可以触发access_token的刷新过程。 16,access_token两小时到期时间设计原因(网络解释):access_token到期也是出于安全考虑。
(1)想象一下情况,我授权了一个应用程序,它得到了我的access_token,然后我忘记了我的授权,所以每次我发布它都会保存它,或者它会使用我的秘密地不知道帐户发送消息。这种情况仍然很糟糕。 (2)如果您只是登录,则不需要accessstoken,因为已经有与您的用户关联的openid或uid。但是,这是授权行为,这意味着此第三方应用程序可以使用accessstoken来获取您的数据。所以在这里我们需要及时性来确保安全。 17,微信access_token两小时到期时间设计原因(自我理解):微信令牌刷新两小时因为第三方服务器访问微信服务器,目的是获取微信服务器中的数据,也称为第三方登录,user用户通过第三方服务器登录后,第三方服务器进入微信平台获取数据。这需要授权过程。也就是说,微信服务器同意第三方服务器获取数据。为了控制这个授权过程,它不会因为授权后已经获得了微信服务器数据的情况,它会在两小时内刷新。 18,微信服务器接口访问限制:微信服务器接口访问限制数是为了防止第三方服务器因程序错误而调用微信服务器,导致微信服务器崩溃,因此访问限制次数。 19.签名验证:验证消息确实来自微信服务器(在此项目中:验证参数确实来自项目的Android客户端)。
网站建设,沈阳网站建设,沈阳网络公司,沈阳网站设计,沈阳网站制作