Skip to content

Commit

Permalink
hard coded base uri in microsoft graph security connector (#1406)
Browse files Browse the repository at this point in the history
  • Loading branch information
mdazam1942 committed Mar 31, 2023
1 parent f8c468a commit 8b5b69c
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,7 @@
"connection": {
"type": {
"displayName": "Microsoft Graph Security",
"group": "azure"
},
"host": {
"type": "text",
"regex": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9_:/\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9_:/\\-]*[A-Za-z0-9])$",
"default": "graph.microsoft.com"
"group": "microsoft"
},
"port": {
"type": "number",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
class APIClient:
"""API Client to handle all calls."""

def __init__(self, connection, configuration):
def __init__(self, base_uri, connection, configuration):
"""Initialization.
:param connection: dict, connection dict
:param configuration: dict,config dict"""
Expand All @@ -14,14 +14,13 @@ def __init__(self, connection, configuration):
default_api_version = 'v1.0'
auth = configuration.get('auth')
self.endpoint = '{api_version}/security/alerts'.format(api_version=default_api_version)
self.host = connection.get('host')
self.timeout = connection['options'].get('timeout')

if auth:
if 'access_token' in auth:
headers['Authorization'] = "Bearer " + auth['access_token']

self.client = RestApiClientAsync(connection.get('host'),
self.client = RestApiClientAsync(base_uri,
connection.get('port', None),
headers,
url_modifier_function=url_modifier_function,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,18 @@
class Connector(BaseJsonSyncConnector):
init_error = None
max_limit = 1000
base_uri = 'graph.microsoft.com' # Microsoft Graph API has single endpoint

def __init__(self, connection, configuration):
"""Initialization.
:param connection: dict, connection dict
:param configuration: dict,config dict"""
self.logger = logger.set_logger(__name__)
self.connector = __name__.split('.')[1]
self.adal_response = Connector.generate_token(self, connection, configuration)
self.adal_response = Connector.generate_token(self, self.base_uri, configuration)
if self.adal_response['success']:
configuration['auth']['access_token'] = self.adal_response['access_token']
self.api_client = APIClient(connection, configuration)
self.api_client = APIClient(self.base_uri, connection, configuration)
else:
self.init_error = True

Expand Down Expand Up @@ -124,15 +125,15 @@ async def create_results_connection(self, query, offset, length):
return return_obj

@staticmethod
def generate_token(self, connection, configuration):
def generate_token(self, base_uri, configuration):
"""To generate the Token
:param connection: dict, connection dict
:param configuration: dict,config dict"""
return_obj = dict()

authority_url = ('https://login.microsoftonline.com/' +
configuration['auth']['tenant'])
resource = "https://" + str(connection.get('host'))
resource = "https://" + base_uri

try:
context = adal.AuthenticationContext(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ def config(self):

def connection(self):
return {
"host": "abc.amazon.com",
"port": 443
}

Expand Down

0 comments on commit 8b5b69c

Please sign in to comment.