code: def error_response(self, request, error, **kwargs):
          
          ctx = {}
          ctx.update(error)
  
          # If we got a malicious redirect_uri or client_id, remove all the
          # cached data and tell the resource owner. We will *not* redirect back
          # to the URL.
  
          if error['error'] in ['redirect_uri', 'unauthorized_client']:
              ctx.update(next='/')
              return self.render_to_response(ctx, **kwargs)
  
          ctx.update(next=self.get_redirect_url(request))
  
          return self.render_to_response(ctx, **kwargs)
docs: Return an error to be displayed to the resource owner if anything goes
          awry. Errors can include invalid clients, authorization denials and
          other edge cases such as a wrong ``redirect_uri`` in the authorization
          request.
  
          :param request: :attr:`django.http.HttpRequest`
          :param error: ``dict``
              The different types of errors are outlined in :rfc:`4.2.2.1`