from django.conf import settings from django.template.response import TemplateResponse from oauth2_provider.views import AuthorizationView from pingcap_sso.utils.mixins import LoginRequiredMixin class AuthorizationEndpoint(LoginRequiredMixin, AuthorizationView): # Rewrite oauth2_provider.views.base.BaseAuthorizationView.error_reponse. # Do not redirect to application when error happend. def error_response(self, error, application): oauthlib_error = error.oauthlib_error error_response = { 'error': oauthlib_error, 'application': application } return self.render_to_response(error_response, status=oauthlib_error.status_code)