Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(AutoIt) Azure REST API Access TokenDemonstrates how to request an Azure REST API OAUTH2 access token. Note: In order to access resources a Service Principal needs to be created in your Tenant. It is really convenient to do it via AZ CLI: az ad sp create-for-rbac --name [APP_NAME] --password [CLIENT_SECRET]
; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oRest = ObjCreate("Chilkat.Rest") ; URL: https://login.microsoftonline.com/TENANT_ID/oauth2/token Local $bTls = True Local $iPort = 443 Local $bAutoReconnect = True Local $bSuccess = $oRest.Connect("login.microsoftonline.com",$iPort,$bTls,$bAutoReconnect) If ($bSuccess <> True) Then ConsoleWrite("ConnectFailReason: " & $oRest.ConnectFailReason & @CRLF) ConsoleWrite($oRest.LastErrorText & @CRLF) Exit EndIf ; Add query params to the request. $oRest.AddQueryParam("grant_type","client_credentials") $oRest.AddQueryParam("client_id","APP_ID") $oRest.AddQueryParam("client_secret","CLIENT_SECRET") ; Note: The resource must match the API for which you're using the access token.. $oRest.AddQueryParam("resource","https://management.azure.com/") Local $strResponseBody = $oRest.FullRequestFormUrlEncoded("POST","/TENANT_ID/oauth2/token") If ($oRest.LastMethodSuccess <> True) Then ConsoleWrite($oRest.LastErrorText & @CRLF) Exit EndIf Local $iRespStatusCode = $oRest.ResponseStatusCode If ($iRespStatusCode >= 400) Then ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF) ConsoleWrite("Response Header:" & @CRLF) ConsoleWrite($oRest.ResponseHeader & @CRLF) ConsoleWrite("Response Body:" & @CRLF) ConsoleWrite($strResponseBody & @CRLF) Exit EndIf $oJson = ObjCreate("Chilkat.JsonObject") $oJson.Load($strResponseBody) $oJson.EmitCompact = False ConsoleWrite($oJson.Emit() & @CRLF) ; The result is an access token such as the following: ; { ; "token_type": "Bearer", ; "expires_in": "3600", ; "ext_expires_in": "3600", ; "expires_on": "1557864616", ; "not_before": "1557860716", ; "resource": "https://management.azure.com/", ; "access_token": "eyJ0eXAiOiJKV1QiL ... 20UFDDOHEyUg" ; } ; We'll save this JSON to a file for other examples to use.. $oJson.WriteFile("qa_data/tokens/azureToken.json") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.