Beispiel #1
0
    def __init__(self, **kwargs):
        logging.getLogger(__name__).debug(f'Connection params: {kwargs}')
        super().__init__(
            **{k: v
               for k, v in kwargs.items() if k != 'secrets_keeper'})

        logging.getLogger(__name__).debug(
            f'Init: {self.client_id} - {self.client_secret}')

        self.authorization_url = (
            f'https://login.microsoftonline.com/{self.tenant}/oauth2/v2.0/authorize'
        )
        self.token_url = f'https://login.microsoftonline.com/{self.tenant}/oauth2/v2.0/token'

        # we use __dict__ so that pydantic does not complain about the _oauth2_connector field
        self._oauth2_connector = OAuth2Connector(
            auth_flow_id=self.auth_flow_id,
            authorization_url=self.authorization_url,
            scope=self.scope,
            token_url=self.token_url,
            redirect_uri=self.redirect_uri,
            config=OAuth2ConnectorConfig(
                client_id=self.client_id,
                client_secret=self.client_secret,
            ),
            secrets_keeper=kwargs['secrets_keeper'],
        )
Beispiel #2
0
def oauth2_connector(secrets_keeper):
    return OAuth2Connector(
        auth_flow_id='test',
        authorization_url=FAKE_AUTHORIZATION_URL,
        scope=SCOPE,
        config=OAuth2ConnectorConfig(client_id='', client_secret=''),
        redirect_uri='',
        token_url=FAKE_TOKEN_URL,
        secrets_keeper=secrets_keeper,
    )
Beispiel #3
0
 def __init__(self, **kwargs):
     super().__init__(
         **{k: v for k, v in kwargs.items() if k not in OAuth2Connector.init_params}
     )
     # we use __dict__ so that pydantic does not complain about the _oauth2_connector field
     self._oauth2_connector = OAuth2Connector(
         auth_flow_id=self.auth_flow_id,
         authorization_url=AUTHORIZATION_URL,
         scope=SCOPE,
         token_url=TOKEN_URL,
         redirect_uri=kwargs['redirect_uri'],
         config=OAuth2ConnectorConfig(
             client_id=kwargs['client_id'],
             client_secret=kwargs['client_secret'],
         ),
         secrets_keeper=kwargs['secrets_keeper'],
     )
Beispiel #4
0
 def __init__(self, **kwargs):
     super().__init__(
         **{k: v for k, v in kwargs.items() if k not in OAuth2Connector.init_params}
     )
     self._oauth2_connector = OAuth2Connector(
         auth_flow_id=self.auth_flow_id,
         authorization_url=AUTHORIZATION_URL,
         scope=SCOPE,
         token_url=TOKEN_URL,
         secrets_keeper=kwargs['secrets_keeper'],
         redirect_uri=kwargs['redirect_uri'],
         config=OAuth2ConnectorConfig(
             client_id=kwargs['client_id'],
             client_secret=kwargs['client_secret'],
         ),
     )
     self.provided_token = kwargs.get('provided_token', None)
Beispiel #5
0
 def __init__(self, **kwargs):
     super().__init__(
         **{k: v
            for k, v in kwargs.items() if k != 'secrets_keeper'})
     self.token_url = f'https://{self.account}.snowflakecomputing.com/oauth/token-request'
     self.authorization_url = f'https://{self.account}.snowflakecomputing.com/oauth/authorize'
     self._oauth2_connector = OAuth2Connector(
         auth_flow_id=self.auth_flow_id,
         authorization_url=self.authorization_url,
         scope=self.scope,
         token_url=self.token_url,
         redirect_uri=self.redirect_uri,
         config=OAuth2ConnectorConfig(
             client_id=self.client_id,
             client_secret=self.client_secret,
         ),
         secrets_keeper=kwargs['secrets_keeper'],
     )
Beispiel #6
0
 def __init__(self, **kwargs):
     super().__init__(
         **{
             k: v
             for k, v in kwargs.items()
             if k not in OAuth2Connector.init_params
         })
     self._oauth2_connector = OAuth2Connector(
         auth_flow_id=self.auth_flow_id,
         authorization_url=AUTHORIZATION_URL_SANDBOX
         if self.type == 'SalesforceSandbox' else AUTHORIZATION_URL_PROD,
         scope=SCOPE,
         token_url=TOKEN_URL_SANDBOX
         if self.type == 'SalesforceSandbox' else TOKEN_URL_PROD,
         secrets_keeper=kwargs['secrets_keeper'],
         redirect_uri=kwargs['redirect_uri'],
         config=OAuth2ConnectorConfig(
             client_id=kwargs['client_id'],
             client_secret=kwargs['client_secret'],
         ),
     )
Beispiel #7
0
 def get_connector_secrets_form() -> ConnectorSecretsForm:
     return ConnectorSecretsForm(
         documentation_md=(Path(os.path.dirname(__file__)) /
                           'doc.md').read_text(),
         secrets_schema=OAuth2ConnectorConfig.schema(),
     )
Beispiel #8
0
def test_should_return_connector_config_form():
    assert (get_connector_secrets_form(GoogleSheets2Connector).secrets_schema
            == OAuth2ConnectorConfig.schema())
    assert get_connector_secrets_form(MongoConnector) is None