def get_app_only_access_token(self, target_host, target_realm): resource = self.get_formatted_principal(self.SharePointPrincipal, target_host, target_realm) principal_id = self.get_formatted_principal(self.client_id, None, target_realm) sts_url = self.get_security_token_service_url(target_realm) oauth2_request = self.create_access_token_request(principal_id, self.client_secret, resource) response = requests.post(url=sts_url, headers={'Content-Type': 'application/x-www-form-urlencoded'}, data=oauth2_request) return TokenResponse.from_json(response.json())
def acquire_token(): tenant_info = get_tenant_info(base_url) authority_url = 'https://login.microsoftonline.com/{0}'.format( tenant_info['name']) auth_ctx = adal.AuthenticationContext(authority_url) resource = tenant_info['base_url'] with open(cert_path, 'r') as file: key = file.read() json_token = auth_ctx.acquire_token_with_client_certificate( resource, client_id, key, thumbprint) return TokenResponse(**json_token)
def acquire_token(self, parameters): try: token_url = "{authority}/oauth2/token".format( authority=self.authority_url) response = requests.post( url=token_url, headers={'Content-Type': 'application/x-www-form-urlencoded'}, data=parameters) self.token = TokenResponse.from_json(response.json()) return self.token.is_valid except requests.exceptions.RequestException as e: self.error = "Error: {0}".format(e) return False
def acquire_token(self, parameters): try: url = "https://login.microsoftonline.com/{0}/oauth2/token".format( self.tenant) response = requests.post( url=url, headers={'Content-Type': 'application/x-www-form-urlencoded'}, data=parameters) self.token = TokenResponse.from_json(response.content) return self.token.is_valid except requests.exceptions.RequestException as e: self.error = "Error: {}".format(e) return False
def __init__(self, url, client_id, client_secret): """ Provider to acquire the access token from a Microsoft Azure Access Control Service (ACS) :type client_secret: str :type client_id: str :type url: str """ self.token = TokenResponse() self.url = url self.client_id = client_id self.client_secret = client_secret self.redirect_url = None self.error = None self.SharePointPrincipal = "00000003-0000-0ff1-ce00-000000000000"
def __init__(self, tenant): self.authority_url = "https://login.microsoftonline.com/{tenant}".format( tenant=tenant) self.version = "v1.0" self.error = None self.token = TokenResponse()