コード例 #1
0
 def decorator(*args, **kwargs):
     token = _jwt.request_callback()
     try:
         payload = _jwt.jwt_decode_callback(token)
     except jwt.exceptions.DecodeError:
         pass
     else:
         _request_ctx_stack.top.current_identity = _jwt.identity_callback(payload)
     return fn(*args, **kwargs)
コード例 #2
0
ファイル: __init__.py プロジェクト: kumy/geokrety-api
def push_to_ctx():
    from flask_jwt import _jwt
    from flask import _request_ctx_stack
    import jwt

    token = _jwt.request_callback()
    try:
        payload = _jwt.jwt_decode_callback(token)
    except jwt.exceptions.DecodeError:
        pass
    else:
        _request_ctx_stack.top.current_identity = _jwt.identity_callback(
            payload)
コード例 #3
0
ファイル: utils.py プロジェクト: jc-kim/chatty
    def wrapped(*args, **kwargs):
        token = request.args.get('token')

        if token is None:
            disconnect()

        try:
            print(token)
            payload = _jwt.jwt_decode_callback(token)
        except jwt.InvalidTokenError as e:
            disconnect()

        _request_ctx_stack.top.current_identity = identity = _jwt.identity_callback(payload)

        if identity is None:
            disconnect()
        else:
            return f(*args, **kwargs)
コード例 #4
0
        def decorator(*args, **kwargs):
            token = _jwt.request_callback()

            if token is None:
                raise JWTError('Authorization Required', 'Request does not contain an access token',
                               headers={'WWW-Authenticate': 'JWT realm="%s"' % realm})

            try:
                payload = _jwt.jwt_decode_callback(token)
            except jwt.InvalidTokenError as e:
                raise JWTError('Invalid token', str(e))

            identity = _jwt.identity_callback(payload)
            if user_type == 'student' and isinstance(identity, Student):
                return fn(*args, **kwargs)
            elif user_type == 'teacher' and isinstance(identity, Teacher):
                return fn(*args, **kwargs)
            # NOTE - By default JWTError throws 401. We needed 404. Hence status_code=404
            raise JWTError('Unauthorized',
                           'You are unauthorized to request the api or access the resource',
                           status_code=404)