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
(DataFlex) Azure AD Service-to-service access token requestSend an Azure AD service-to-service token request to get an access token using a shared secret. For more information, see https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-oauth2-client-creds-grant-flow#service-to-service-access-token-request
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Variant vReq Handle hoReq Variant vResp Handle hoResp Integer iRespStatusCode Handle hoJson Boolean iSuccess String sToken_type String sExpires_in String sExt_expires_in String sExpires_on String sNot_before String sResource String sAccess_token String sTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // To see the exact HTTP request sent and the response, set the SessionLogFilename property: Set ComSessionLogFilename Of hoHttp To "qa_output/chilkatHttpLog.txt" Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End // Set the following request params: // grant_type required Specifies the requested grant type. In a Client Credentials Grant flow, the value must be client_credentials. // // client_id required Specifies the Azure AD client id of the calling web service. // To find the calling application's client ID, in the Azure portal, click Azure Active Directory, click App registrations, click the application. // The client_id is the Application ID // // client_secret required Enter a key registered for the calling web service or daemon application in Azure AD. // To create a key, in the Azure portal, click Azure Active Directory, click App registrations, click the application, click Settings, click Keys, and add a Key. // URL-encode this secret when providing it. // // resource required Enter the App ID URI of the receiving web service. To find the App ID URI, in the Azure portal, click Azure Active Directory, // click App registrations, click the service application, and then click Settings and Properties. Send ComAddParam To hoReq "grant_type" "client_credentials" Send ComAddParam To hoReq "client_id" "MY_CLIENT_ID" Send ComAddParam To hoReq "client_secret" "MY_CLIENT_SECRET" Send ComAddParam To hoReq "resource" "https://service.contoso.com/" // The URL passed to PostUrlEncoded has this form: https://login.microsoftonline.com/<tenant_id>/oauth2/token Get pvComObject of hoReq to vReq Get ComPostUrlEncoded Of hoHttp "https://login.microsoftonline.com/<tenant_id>/oauth2/token" vReq To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iRespStatusCode Showln "Response Status Code = " iRespStatusCode Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Set ComEmitCompact Of hoJson To False Get ComBodyStr Of hoResp To sTemp1 Get ComLoad Of hoJson sTemp1 To iSuccess Showln "Response JSON:" Get ComEmit Of hoJson To sTemp1 Showln sTemp1 If (iRespStatusCode >= 400) Begin Showln "Response Header:" Get ComHeader Of hoResp To sTemp1 Showln sTemp1 Showln "Failed." Send Destroy of hoResp Procedure_Return End // Sample response: // { // "token_type": "Bearer", // "expires_in": "3599", // "ext_expires_in": "3599", // "expires_on": "1570059833", // "not_before": "1570055933", // "resource": "https://adminchilkatsoft.onmicrosoft.com/eb1b8ced-76b7-4845-aec5-d3e91776e345", // "access_token": "eyJ0eXAiO ... pmgw" // } // To get the items from the JSON.... Get ComStringOf Of hoJson "token_type" To sToken_type Get ComStringOf Of hoJson "expires_in" To sExpires_in Get ComStringOf Of hoJson "ext_expires_in" To sExt_expires_in Get ComStringOf Of hoJson "expires_on" To sExpires_on Get ComStringOf Of hoJson "not_before" To sNot_before Get ComStringOf Of hoJson "resource" To sResource Get ComStringOf Of hoJson "access_token" To sAccess_token Send Destroy of hoResp End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.