Source code for apis_core.utils.authentication

from rest_framework.authentication import TokenAuthentication


# not used in APIS, but can be used in downstream projects
[docs] class TokenAuthSupportQueryString(TokenAuthentication): """ Extend the TokenAuthentication class to support querystring authentication in the form of "http://www.example.com/?auth_token=<api_key>" """
[docs] def authenticate(self, request): # Check if 'token_auth' is in the request query params. # Give precedence to 'Authorization' header. if ( "api_key" in request.query_params and "HTTP_AUTHORIZATION" not in request.META ): return self.authenticate_credentials(request.query_params.get("api_key")) else: return super().authenticate(request)