def get_token():
    user_agent = request.headers.get('User-Agent', "")
    device_sn = request.headers.get('device_sn', "")
    os_platform = request.headers.get('os_platform', "")
    app_version = request.headers.get('app_version', "")
    data = request.get_json()
    sign = data.get('sign', "")

    expected_sign = utils.get_sign(user_agent, device_sn, os_platform, app_version)

    if expected_sign != sign:
        result = {
            'success': False,
            'msg': "Authorization failed!"
        }
        response = make_response(json.dumps(result), 403)
    else:
        token = utils.gen_random_string(16)
        token_dict[device_sn] = token

        result = {
            'success': True,
            'token': token
        }
        response = make_response(json.dumps(result))

    response.headers["Content-Type"] = "application/json"
    return response
Example #2
0
    def get_authenticated_headers(self):
        user_agent = 'iOS/10.3'
        device_sn = utils.gen_random_string(15)
        os_platform = 'ios'
        app_version = '2.8.6'

        token = self.get_token(user_agent, device_sn, os_platform, app_version)
        headers = {'device_sn': device_sn, 'token': token}
        return headers
Example #3
0
    def get_authenticated_headers(self):
        user_agent = 'iOS/10.3'
        device_sn = utils.gen_random_string(15)
        os_platform = 'ios'
        app_version = '2.8.6'

        token = self.get_token(user_agent, device_sn, os_platform, app_version)
        headers = {
            'device_sn': device_sn,
            'token': token
        }
        return headers
Example #4
0
 def get_authenticated_headers(self):
     '''
     @summary:获取已经认证过的headers
     
     @return headers
     '''
     user_agent = "ios/10.3"
     device_sn = utils.gen_random_string(15)  # 设备序列号
     os_platform = 'ios'  # os平台
     app_version = '2.8.6'  # app版本
     token = self.get_token(user_agent, device_sn, os_platform, app_version)
     headers = {"device_sn": device_sn, "token": token}
     return headers
Example #5
0
def get_token():
    '''
    @summary:获取token
    @param :headers{User-Agent, device_sn, os_platform, app_version}、json{sign:@sign}
    
    @return response({success, msg/token}, status_code)
    '''
    # post请求的headers:User-Agent,device_sn,os_platform,app_version
    user_agent = request.headers.get('User-Agent', '')
    device_sn = request.headers.get('device_sn', '')
    os_platform = request.headers.get('os_platform', '')
    app_version = request.headers.get('app_version', '')
    # post请求的内容 {sign : @sign}
    data = request.get_json()
    sign = data.get('sign', '')

    # 通过post请求的headers计算出签名sign
    expected_sign = utils.get_sign(user_agent, device_sn, os_platform,
                                   app_version)

    # 构建response
    response = None
    if expected_sign != sign:  # 如果计算出的签名 和 传过来的签名不一致
        result = {'success': False, 'msg': 'Authorization failed!'}
        response = make_response(json.dumps(result), 403)
    else:  # 如果签名一致
        token = utils.gen_random_string(16)  # 创建一个随机字符串,当做token
        token_dict[device_sn] = token

        result = {'success': True, 'token': token}
        response = make_response(json.dumps(result), 200)
    # 构建response的headers
    response.headers['Content-Type'] = 'application/json'

    # 返回response
    return response