def authenticate(self, request):
        """
        Returns authenticated user if URL signature is valid.
        """
        signer = Signer()
        sign = request.query_params.get(Signer.QUERY_PARAM)
        if not sign:
            return

        try:
            user = signer.unsign(sign, request.build_absolute_uri())
        except signing.SignatureExpired:
            raise exceptions.AuthenticationFailed("This URL has expired.")
        except signing.BadSignature:
            raise exceptions.AuthenticationFailed("Invalid signature.")
        if not user.is_active:
            raise exceptions.AuthenticationFailed("User inactive or deleted.")

        return (user, None)

        Returns authenticated user if URL signature is valid.
        
cvat/apps/iam/authentication.py