예제 #1
0
 def has_permission(self, request, view):
     jwt_object = JWTAuthentication()
     header = jwt_object.get_header(request)
     raw_token = jwt_object.get_raw_token(header)
     validated_token = jwt_object.get_validated_token(raw_token)
     user = jwt_object.get_user(validated_token)
     return user.is_staff
예제 #2
0
	def get_authenticators(self):
		auth_head = get_authorization_header(self.request)
		ah = jwt.get_header(self, request=self.request)

		token = jwt.get_raw_token(self, header=auth_head)

		return [auth() for auth in self.authentication_classes]
예제 #3
0
def get_jwt_payload(request):
    jwt_object = JWTAuthentication()
    header = jwt_object.get_header(request)
    raw_token = jwt_object.get_raw_token(header)
    validated_token = jwt_object.get_validated_token(raw_token)
    token_backend = TokenBackend(algorithm='HS256')
    payload = token_backend.decode(token=str(validated_token), verify=False)
    return payload
예제 #4
0
def authenticate_from_token(request):
    jwt_object = JWTAuthentication()
    header = jwt_object.get_header(request)
    raw_token = jwt_object.get_raw_token(header)
    validated_token = jwt_object.get_validated_token(raw_token)
    user = jwt_object.get_user(validated_token)
    request.data["user"] = user.id
    return request
예제 #5
0
 def process_view(self, request, view_func, view_args, view_kwargs):
     jwt_object = JWTAuthentication()
     header = jwt_object.get_header(request)
     if header is not None:
         raw_token = jwt_object.get_raw_token(header)
         validated_token = jwt_object.get_validated_token(raw_token)
         request.user = jwt_object.get_user(validated_token)
         return None
     return Response({'error': "Invalid Token"}, status=200)
예제 #6
0
    def middleware(request):
        try:
            auth = JWTAuthentication()
            header = auth.get_header(request)
            raw_token = auth.get_raw_token(header)
            validated_token = auth.get_validated_token(raw_token)

            field = settings.SIMPLE_JWT['USER_ID_FIELD']
            setattr(request, field, validated_token.payload[field])
        except Exception:
            raise InvalidToken('Credentials were not provided')
        else:
            response = get_response(request)
        return response
예제 #7
0
def chek_and_return(request):
    jwt_object = JWTAuthentication()
    header = jwt_object.get_header(request)
    raw_token = jwt_object.get_raw_token(header)
    validated_token = jwt_object.get_validated_token(raw_token)
    user = jwt_object.get_user(validated_token)

    user = User.objects.get(username=user).id
    data = request.data
    """ remember old state, set to mutable, сhange the values, set mutable flag back """
    _mutable = data._mutable
    data._mutable = True
    data['user'] = str(user)
    data._mutable = _mutable
    # print(data)
    return data
예제 #8
0
def chek_and_return(request):
    jwt_object = JWTAuthentication()
    header = jwt_object.get_header(request)
    raw_token = jwt_object.get_raw_token(header)
    validated_token = jwt_object.get_validated_token(raw_token)
    user = jwt_object.get_user(validated_token)

    user = User.objects.get(username=user).profile.id
    data = request.data

    # now = datetime.datetime.now().date
    time_date = datetime.datetime.strptime(data['start_time'],
                                           '%H:%M:%S').time()
    print('time_date ***** ', time_date)

    end_time = datetime.time(time_date.hour + 1, time_date.minute,
                             time_date.second)
    chek_busy = busy_time(date=data['start_date'],
                          time=time_date,
                          master=data['master'],
                          end_t=end_time)
    if chek_busy['busy_status'] == True:
        return False
    else:

        end_time = datetime.time(time_date.hour + 1, time_date.minute,
                                 time_date.second)
        print(end_time)
        """ remember old state, set to mutable, сhange the values, set mutable flag back """
        _mutable = data._mutable
        data._mutable = True
        data['profile'] = str(user)
        data['end_time'] = end_time
        data._mutable = _mutable
        print(data)
        return data
예제 #9
0
def get_token(request):
    jwt_obj = JWTAuthentication()
    header = jwt_obj.get_header(request)
    return jwt_obj.get_raw_token(header)
예제 #10
0
def get_user_from_request(self, request):
    header = JWTAuthentication.get_header(self, request)
    raw_token = JWTAuthentication.get_raw_token(self, header)
    validated_token = JWTAuthentication.get_validated_token(self, raw_token)
    user = JWTAuthentication.get_user(self, validated_token)
    return user
예제 #11
0
def get_username_by_token(request):
    token_object = JWTAuthentication()
    header = token_object.get_header(request)
    raw_token = token_object.get_raw_token(header)
    validated_token = token_object.get_validated_token(raw_token)
    return token_object.get_user(validated_token)
예제 #12
0
def get_user_from_jwt_token(request: HttpRequest) -> User:
    auth = JWTAuthentication()

    return auth.get_user(
        auth.get_validated_token(auth.get_raw_token(auth.get_header(request))))
예제 #13
0
def UserFromToken(request):
    jwt_object = JWTAuthentication()
    header = jwt_object.get_header(request)
    raw_token = jwt_object.get_raw_token(header)
    validated_token = jwt_object.get_validated_token(raw_token)
    return jwt_object.get_user(validated_token)