def verify_basic_token(token): try: client = base64.b64decode(token) client_id, secret = smart_str(client).split(':') except (TypeError, ValueError): return False, None return verify_client(client_id, secret)
def params_filter(params, delimiter='&', charset='utf-8', excludes=['sign', 'sign_type']): ks = params.keys() ks.sort() newparams = {} prestr = '' if params.get('input_charset', None): charset = params['input_charset'] for k in ks: v = params[k] k = smart_str(k, charset) if k not in excludes and v != '': newparams[k] = smart_str(v, charset) prestr += '%s=%s%s' % (k, newparams[k], delimiter) prestr = prestr[:-1] return newparams, prestr
def params_filter(params, delimiter='&', charset='utf-8', excludes=['sign', 'sign_type']): if six.PY3: ks = sorted(params) else: ks = params.keys() ks.sort() newparams = {} prestr = '' if params.get('input_charset', None): charset = params['input_charset'] for k in ks: v = params[k] k = smart_str(k, charset) if k not in excludes and v != '': newparams[k] = smart_str(v, charset) prestr += '%s=%s%s' % (k, newparams[k], delimiter) prestr = prestr[:-1] return newparams, prestr
def prepare_request(self, method, path, params): kwargs = {} _params = self.get_base_params() params.update(_params) newparams, prestr = params_filter(params) sign = build_mysign(prestr, key=self.partner_key) # 将内容转化为unicode xmltodict 只支持unicode newparams = params_encoding(newparams) newparams['sign'] = sign xml_dict = {'xml': newparams} kwargs['data'] = smart_str(xmltodict.unparse(xml_dict)) url = self._full_url(path) if self.mch_cert and self.mch_key: kwargs['cert'] = (self.mch_cert, self.mch_key) return method, url, kwargs
def prepare_request(self, method, path, params): kwargs = {} _params = self.get_base_params() params.update(_params) newparams, prestr = params_filter(params) sign = build_mysign(prestr, key=self.partner_key) # 将内容转化为unicode xmltodict 只支持unicode newparams = params_encoding(newparams) newparams['sign'] = sign xml_dict = {'xml': newparams} kwargs['data'] = smart_str(xmltodict.unparse(xml_dict)) url = self._full_url(path) if self.mch_cert and self.mch_key: kwargs['cert'] = (self.mch_cert, self.mch_key) return method, url, kwargs
def verify_client(client_id, secret): client = OAuth2Client.get(client_id=smart_str(client_id), secret=smart_str(secret)) if client: return True, client.get('scopes', []) return False, []
def __getattribute__(self, name): if name == 'id': id = super(Test, self).__getattribute__(name) return smart_str(id) return super(Test, self).__getattribute__(name)