(self)
Validate the request.
Validate the request.
Validate the request .
def _validate(self):
        """Validate the request."""
        if self.client_id is None:
            raise InvalidRequest('No client_id')
        try:
            self.client = Client.objects.get(key=self.client_id)
        except Client.DoesNotExist:
            raise InvalidClient("client_id %s doesn't exist" % self.client_id)
        # Redirect URI
        if self.redirect_uri is None:
            if self.client.redirect_uri is None:
                raise MissingRedirectURI("No redirect_uri"
                    "provided or registered.")
        elif self.client.redirect_uri is not None:
            if normalize(self.redirect_uri) != normalize(self.client.redirect_uri):
                self.redirect_uri = self.client.redirect_uri
                raise InvalidRequest("Registered redirect_uri doesn't "
                    "match provided redirect_uri.")
        self.redirect_uri = self.redirect_uri or self.client.redirect_uri
        # Check response type
        if self.response_type is None:
            raise InvalidRequest('response_type is a required parameter.')
        if self.response_type not in ["code", "token"]:
            raise InvalidRequest("No such response type %s" % self.response_type)
        # Response type
        if self.authorized_response_type & RESPONSE_TYPES[self.response_type] == 0:
            raise UnauthorizedClient("Response type %s not allowed." %
                self.response_type)
        if not absolute_http_url_re.match(self.redirect_uri):
            raise InvalidRequest('Absolute URI required for redirect_uri')
        # Scope
        if self.authorized_scope is not None and self.scope is None:
            self.scope = self.authorized_scope
        if self.scope is not None:
            self.access_ranges = AccessRange.objects.filter(key__in=self.scope)
            access_ranges = set(self.access_ranges.values_list('key', flat=True))
            difference = access_ranges.symmetric_difference(self.scope)
            if len(difference) != 0:
                raise InvalidScope("Following access ranges do not "
                    "exist: %s" % ', '.join(difference))
            if self.authorized_scope is not None:
                new_scope = self.scope - self.authorized_scope
                if len(new_scope) > 0:
                    raise InvalidScope("Invalid scope: %s" % ','.join(new_scope))
def _validate ( self ) : if self . client_id is None : raise InvalidRequest ( 'No client_id' ) try : self . client = Client . objects . get ( key = self . client_id ) except Client . DoesNotExist : raise InvalidClient ( "client_id %s doesn't exist" % self . client_id ) # Redirect URI if self . redirect_uri is None : if self . client . redirect_uri is None : raise MissingRedirectURI ( "No redirect_uri" "provided or registered." ) elif self . client . redirect_uri is not None : if normalize ( self . redirect_uri ) != normalize ( self . client . redirect_uri ) : self . redirect_uri = self . client . redirect_uri raise InvalidRequest ( "Registered redirect_uri doesn't " "match provided redirect_uri." ) self . redirect_uri = self . redirect_uri or self . client . redirect_uri # Check response type if self . response_type is None : raise InvalidRequest ( 'response_type is a required parameter.' ) if self . response_type not in [ "code" , "token" ] : raise InvalidRequest ( "No such response type %s" % self . response_type ) # Response type if self . authorized_response_type & RESPONSE_TYPES [ self . response_type ] == 0 : raise UnauthorizedClient ( "Response type %s not allowed." % self . response_type ) if not absolute_http_url_re . match ( self . redirect_uri ) : raise InvalidRequest ( 'Absolute URI required for redirect_uri' ) # Scope if self . authorized_scope is not None and self . scope is None : self . scope = self . authorized_scope if self . scope is not None : self . access_ranges = AccessRange . objects . filter ( key__in = self . scope ) access_ranges = set ( self . access_ranges . values_list ( 'key' , flat = True ) ) difference = access_ranges . symmetric_difference ( self . scope ) if len ( difference ) != 0 : raise InvalidScope ( "Following access ranges do not " "exist: %s" % ', ' . join ( difference ) ) if self . authorized_scope is not None : new_scope = self . scope - self . authorized_scope if len ( new_scope ) > 0 : raise InvalidScope ( "Invalid scope: %s" % ',' . join ( new_scope ) )