authentik.sources.oauth.views.base
OAuth Base views
1"""OAuth Base views""" 2 3from django.http.request import HttpRequest 4from structlog.stdlib import get_logger 5 6from authentik.sources.oauth.clients.base import BaseOAuthClient 7from authentik.sources.oauth.clients.oauth1 import OAuthClient 8from authentik.sources.oauth.clients.oauth2 import OAuth2Client 9from authentik.sources.oauth.models import OAuthSource 10 11LOGGER = get_logger() 12 13 14class OAuthClientMixin: 15 "Mixin for getting OAuth client for a source." 16 17 request: HttpRequest # Set by View class 18 19 client_class: type[BaseOAuthClient] | None = None 20 21 def get_client(self, source: OAuthSource, **kwargs) -> BaseOAuthClient: 22 "Get instance of the OAuth client for this source." 23 if self.client_class is not None: 24 25 return self.client_class(source, self.request, **kwargs) 26 if source.source_type.request_token_url or source.request_token_url: 27 client = OAuthClient(source, self.request, **kwargs) 28 else: 29 client = OAuth2Client(source, self.request, **kwargs) 30 LOGGER.debug("Using client for oauth request", client=client) 31 return client
LOGGER =
<BoundLoggerLazyProxy(logger=None, wrapper_class=None, processors=None, context_class=None, initial_values={}, logger_factory_args=())>
class
OAuthClientMixin:
15class OAuthClientMixin: 16 "Mixin for getting OAuth client for a source." 17 18 request: HttpRequest # Set by View class 19 20 client_class: type[BaseOAuthClient] | None = None 21 22 def get_client(self, source: OAuthSource, **kwargs) -> BaseOAuthClient: 23 "Get instance of the OAuth client for this source." 24 if self.client_class is not None: 25 26 return self.client_class(source, self.request, **kwargs) 27 if source.source_type.request_token_url or source.request_token_url: 28 client = OAuthClient(source, self.request, **kwargs) 29 else: 30 client = OAuth2Client(source, self.request, **kwargs) 31 LOGGER.debug("Using client for oauth request", client=client) 32 return client
Mixin for getting OAuth client for a source.
def
get_client( self, source: authentik.sources.oauth.models.OAuthSource, **kwargs) -> authentik.sources.oauth.clients.base.BaseOAuthClient:
22 def get_client(self, source: OAuthSource, **kwargs) -> BaseOAuthClient: 23 "Get instance of the OAuth client for this source." 24 if self.client_class is not None: 25 26 return self.client_class(source, self.request, **kwargs) 27 if source.source_type.request_token_url or source.request_token_url: 28 client = OAuthClient(source, self.request, **kwargs) 29 else: 30 client = OAuth2Client(source, self.request, **kwargs) 31 LOGGER.debug("Using client for oauth request", client=client) 32 return client
Get instance of the OAuth client for this source.