Ejemplo n.º 1
0
    def get_password_grant(self, request, data, client):
        if not client.apiv2_client.allow_oauth_passoword_grant:
            raise OAuthError({'error': 'unsupported_grant_type'})

        form = PasswordGrantForm(data, client=client)
        if not form.is_valid():
            raise OAuthError(form.errors)
        return form.cleaned_data
    def get_password_grant(self, request, data, client):
        form = ClientIdPasswordGrantForm(data, client=client)
        if not form.is_valid():
            logger.info(
                "login failed",
                extra={
                    "IP": get_ip(request),
                    "USERNAME": request.POST.get("username"),
                    "CLIENT_SECRET": request.POST.get("client_secret"),
                    "HTTP_REFERER": request.META.get("HTTP_REFERER"),
                    "HTTP_USER_AGENT": request.META.get("HTTP_USER_AGENT"),
                },
            )

            form.on_form_invalid()

            raise OAuthError(form.errors)
        else:
            form.on_form_valid()

        logger.info(
            "login succeeded",
            extra={
                "IP": get_ip(request),
                "USERNAME": request.POST.get("username"),
                "CLIENT_SECRET": request.POST.get("client_secret"),
                "HTTP_REFERER": request.META.get("HTTP_REFERER"),
                "HTTP_USER_AGENT": request.META.get("HTTP_USER_AGENT"),
            },
        )
        return form.cleaned_data
Ejemplo n.º 3
0
 def get_client_credentials_grant(self, request, data, client):
     form = ClientCredentialsGrantForm(data, client=client)
     if not form.is_valid():
         raise OAuthError(form.errors)
     return form.cleaned_data
Ejemplo n.º 4
0
 def get_password_grant(self, request, data, client):
     form = PasswordGrantForm(data, client=client)
     if not form.is_valid():
         raise OAuthError(form.errors)
     return form.cleaned_data
Ejemplo n.º 5
0
 def get_refresh_token_grant(self, request, data, client):
     form = RefreshTokenGrantForm(data, client=client)
     if not form.is_valid():
         raise OAuthError(form.errors)
     return form.cleaned_data.get('refresh_token')
Ejemplo n.º 6
0
 def get_authorization_code_grant(self, request, data, client):
     form = AuthorizationCodeGrantForm(data, client=client)
     if not form.is_valid():
         raise OAuthError(form.errors)
     return form.cleaned_data.get('grant')
Ejemplo n.º 7
0
 def raise_unknown_exception(self, request, data):
     raise OAuthError({'unknown_field': 'had some errors'})