Example #1
0
        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)
Example #2
0
 def verify(self, factor):
     """
     验证合法性
     :param factor: 待处理因子
     :return:
     """
     return Signer().gen_sign(factor)
Example #3
0
    def verify(self, factor):
        """
        验证合法性
        :param factor: 待处理因子
        :return:
        """
        logger.info("RpcHandler::verify!!! factor:%s" % factor)

        return Signer().gen_sign(factor)
Example #4
0
 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)
Example #5
0
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)))
Example #6
0
 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)
Example #7
0
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)))
Example #8
0
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)
Example #9
0
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)))
Example #10
0
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)))
Example #11
0
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)))
Example #12
0
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)))
Example #13
0
#!/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)
Example #14
0
#!/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)
Example #15
0
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)))
Example #16
0
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)))
Example #17
0
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)))
Example #18
0
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)))
Example #19
0
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)))