Разбор заголовка В Post Call Python

Я использую rest client в моем браузере mozilla для вызова службы auth.
Когда я передаю свои учетные данные в теле, я получаю «auth-маркер» . Затем я устанавливаю этот маркер в заголовке на вкладке заголовки браузера.

Я должен разобрать этот заголовок, который я устанавливаю в браузере в моем скрипте python в качестве переменной. Далее, после получения этого значения в моем скрипте я должен аутентифицировать маркер для его действительности.
Однако я не могу получить значение токенов в моем скрипте. Моя функция auth готова. Мне просто нужно забрать жетон
Как извлечь это значение токена из заголовка ??

Код:

def check_authentication(auth):

  print "Auth" , auth

  chek_auth_url = ("http://10.168.2.161/auth/v/%s" % (auth)) 

  auth = requests.get(chek_auth_url)

  if auth.status_code == 200:

    return True

Я должен передать маркер в качестве парамера в этой функции и вызвать эту функцию в main для аутентификации.

  def crossdomain(origin=None, methods=None, headers=None, max_age=21600, attach_to_all=True, automatic_options=True):
if methods is not None:
    methods = ', '.join(sorted(x.upper() for x in methods))
if headers is not None and not isinstance(headers, basestring):
    headers = ', '.join(x.upper() for x in headers)
if not isinstance(origin, basestring):
    origin = ', '.join(origin)
if isinstance(max_age, timedelta):
    max_age = max_age.total_seconds()

def get_methods():
    if methods is not None:
        return methods

    options_resp = current_app.make_default_options_response()
    return options_resp.headers['allow']

def decorator(f):
    def wrapped_function(*args, **kwargs):
        if automatic_options and request.method == 'OPTIONS':
            resp = current_app.make_default_options_response()
        else:
            resp = make_response(f(*args, **kwargs))
        if not attach_to_all and request.method != 'OPTIONS':
            return resp

        h = resp.headers
        h['Access-Control-Allow-Origin'] = origin
        h['Access-Control-Allow-Methods'] = get_methods()
        h['Access-Control-Max-Age'] = str(max_age)
        if headers is not None:
            h['Access-Control-Allow-Headers'] = headers
            #h['Access-Control-Allow-Headers'] = "Content-Type"
        return resp

    f.provide_automatic_options = False
    return update_wrapper(wrapped_function, f)
return decorator

@app.route('/test', methods=['POST', 'OPTIONS'])
@crossdomain(origin='*', headers='Content-Type')
def get_storage():

  *check_authentication is called here and token is passed as a parameter*
  *if token is valid further task i hav to do*



if __name__ == '__main__':

  app.run(host='192.168.56.1', port=8080, threaded=True)

1 ответ

  1. Самопомощь-лучшая помощь..

    Наконец я нашел исправление:

    Значение токена извлекается в переменной tokenValue. Теперь я могу продолжить кодирование.

    tokenValue = request.headers.get("token")
    
    if tokenValue == None:
      return "x-auth-token not passed in header, please pass the token."
    else:
      print "Token passed is", tokenValue