def sign_param_checker(self, *args, **kwargs): if "sign" not in kwargs: logger.error("%s:%s ERROR_SIGN_ERROR, not sign param!!!" % (self.__class__.__name__, fun.__name__)) return {"result": error_code.ERROR_SIGN_ERROR} sign = kwargs.pop('sign') if not (Signer().check_sign(sign, sign_params) if sign_params else Signer().check_sign(sign, **kwargs)): logger.error("%s:%s ERROR_SIGN_ERROR, check_sign false!!!" % (self.__class__.__name__, fun.__name__)) return {"result": error_code.ERROR_SIGN_ERROR} return fun(self, *args, **kwargs)
def verify(self, factor): """ 验证合法性 :param factor: 待处理因子 :return: """ return Signer().gen_sign(factor)
def verify(self, factor): """ 验证合法性 :param factor: 待处理因子 :return: """ logger.info("RpcHandler::verify!!! factor:%s" % factor) return Signer().gen_sign(factor)
def verify(self): """ 验证服务是否有效,随机一个参数给服务去签名,如果签名有效即服务有效 :return: """ factor = random.randint(1, 10000) params = {"sign": TCP_SIGN, "factor": factor} factor_sign = self.fetch_sync("verify", ujson.dumps(params)) return Signer().check_sign(factor_sign, factor)
def get_wc_openid(tcp_rpc_client, code): """ 根据code获取微信用户openid :return: openid """ params = {"code": code} params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("get_wc_openid", ujson.dumps(params)))
def server_sign_param_wapper(self, *args, **kwargs): sign = kwargs.pop('_sign', None) csign = Signer().gen_sign(*kwargs.values()) if sign != csign: logger.error( "server_sign_wapper error:values:%r sign:%s csign:%s" % (kwargs.values(), sign, csign)) self.set_status(401) return return fun(self, *args, **kwargs)
def get_wc_clt_access_token(tcp_rpc_client): """ 获取微信客户端访问码 :return: access_token """ params = {} params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("get_wc_clt_access_token", ujson.dumps(params)))
def append_server_sign(url): """ 服务器间的签名 :param url: 访问的url """ up = urlparse.urlparse(url) params = dict([(item.split("=")[0], urllib2.unquote(item.split("=")[1])) for item in up.query.split("&")]) if up.query else {} logger.debug("append_server_sign: params.values:%s" % (params.values())) _sign = Signer().gen_sign(*params.values()) splitor = "&" if "?" in url else "?" return url + "{splitor}_sign={sign}".format(splitor=splitor, sign=_sign)
def find_service(tcp_rpc_client, service_type, rdm_type=RT_CPU_USAGE_RDM, rdm_param=1): params = { "service_type": service_type, "rdm_type": rdm_type, "rdm_param": rdm_param } params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("find_service", ujson.dumps(params)))
def get_device_type(tcp_rpc_client, code=None): """ 获取设备类型列表 :param tcp_rpc_client: :return: """ params = {} if code: params['code'] = code params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("get_device_type", ujson.dumps(params)))
def find_services(tcp_rpc_client, service_type, rdm_type=RT_CPU_USAGE_RDM, rdm_param=1): params = { "service_type": service_type, "rdm_type": rdm_type, "rdm_param": rdm_param } if rdm_type != RT_CPU_USAGE_RDM: assert isinstance(rdm_param, list) params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("find_services", ujson.dumps(params)))
def view_logic_services(tcp_rpc_client, viewer, state=None): params = {"viewer": viewer, "state": state} params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("view_logic_services", ujson.dumps(params)))
#!/usr/bin/python2.7 # coding=utf-8 """ Created on 2015-7-17 @author: Jay """ from utils.crypto.sign import Signer from utils.service_control.finder import get_cur_ip from utils.service_control.parser import ArgumentParser HTTP_SIGN = Signer().gen_sign(get_cur_ip(), ArgumentParser().args.http_port)
#!/usr/bin/python2.7 # coding=utf-8 """ Created on 2015-4-27 @author: Jay """ from utils.crypto.sign import Signer from utils.service_control.finder import get_cur_ip from utils.service_control.setting import SM_TCP_PORT TCP_SIGN = Signer().gen_sign(get_cur_ip(), SM_TCP_PORT)
def view_tp_services(tcp_rpc_client, viewer): params = {"viewer": viewer} params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("view_tp_services", ujson.dumps(params)))
def find_tp_service(tcp_rpc_client, service): params = {"service": service} params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("find_tp_service", ujson.dumps(params)))
def stop_service(tcp_rpc_client, service_id): params = {"service_id": service_id} params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("stop_service", ujson.dumps(params)))
def get_roster_s_ls(tcp_rpc_client): params = {} params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async('get_roster_s_ls', ujson.dumps(params)))
def start_service(tcp_rpc_client, service_type, ip): params = {"service_type": service_type, "ip": ip} params['sign'] = Signer().gen_sign(**params) return ujson.loads( tcp_rpc_client.fetch_async("start_service", ujson.dumps(params)))