微信客服,一直显示 token 校验失败,使用官方demo代码也不行,急急急
后台代码如下:
# 这部分来自官方demo
"""计算公众平台的消息签名接口""" def getSHA1( self , token, timestamp, nonce, encrypt): """用SHA1算法生成安全签名 [@param](/user/param) token: 票据 [@param](/user/param) timestamp: 时间戳 [@param](/user/param) encrypt: 密文 [@param](/user/param) nonce: 随机字符串 [@return](/user/return): 安全签名 """ sortlist = [token, timestamp, nonce, str (encrypt)] sortlist.sort() sha = hashlib.sha1() sha.update("".join(sortlist).encode( 'utf-8' )) return WXBizMsgCrypt_OK, sha.hexdigest() # 这部分为业务代码,譬如我的 url 地址为 https://www.xxxxxxx.com:9999 # 然后 get 请求到 https://www.xxxxxxx.com:9999 这里到时候,会路由到 Message -> get 方法中 class Message(Resource): def get( self ): """客服消息自动回复 """ signature = request.args.get( 'signature' , '1' ) echostr = request.args.get( 'echostr' , '1' ) timestamp = request.args.get( 'timestamp' , '1' ) nonce = request.args.get( 'timestamp' , '1' ) token = 'hackmonster' sha1 = service.SHA1() ret, signature = sha1.getSHA1(token, timestamp, nonce, '') print (ret, signature) return True |
问题:
token 校验的具体逻辑到底是咋样的,我怀疑难道是我理解错了?
为啥我测试的时候,直接在 get 最末返回 true 也不行呢?
1 回复