Private/Get-iPilotDirectorySyncOAuthToken.ps1
Function Get-iPilotDirectorySyncOAuthToken { # Application (client) ID, tenant ID and secret Get-iPilotDirectorySyncCredentials # Construct URI $Uri = "https://login.microsoftonline.com/$global:iPilotTenantID/oauth2/v2.0/token" # Construct Body $Body = @{ client_id = $global:iPilotClientID scope = "https://graph.microsoft.com/.default" client_secret = $global:iPilotClientSecret grant_type = "client_credentials" } # Get OAuth 2.0 Token Try { $TokenRequest = Invoke-WebRequest -Method Post -Uri $Uri -ContentType "application/x-www-form-urlencoded" -Body $Body -UseBasicParsing } Catch { Write-Error "Failed to retreive OAuth Token from $Uri. Error: $($_.Exception.Message)" break } # Access Token $global:iPilotDirectorySyncOAuthToken = ($TokenRequest.Content | ConvertFrom-Json).access_token } |