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) RSAP Union API - Get OAuth2 Access TokenDemonstrates how to get an OAuth2 access token for the RSAP Union API. Note: This uses the client credentials flow, which does NOT require an interactive engagement using a browser. For more information, see https://app.swaggerhub.com/apis-docs/pderas/RSAP/2.0.1#/Authentication/getOauthToken
; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oHttp = ObjCreate("Chilkat.Http") Local $bSuccess ; The following JSON is sent in the request body. ; { ; "grant_type": "client_credentials", ; "client_id": 1234, ; "client_secret": "23456abcde" ; } $oJson = ObjCreate("Chilkat.JsonObject") $oJson.UpdateString("grant_type","client_credentials") $oJson.UpdateInt("client_id",1234) $oJson.UpdateString("client_secret","23456abcde") $oHttp.SetRequestHeader "Content-type","application/json" ; Add the client certificate TLS authentication. $oCert = ObjCreate("Chilkat.Cert") $bSuccess = $oCert.LoadFromFile("qa_data/certs_and_keys/union_client_certificate.crt") If ($bSuccess = False) Then ConsoleWrite($oCert.LastErrorText & @CRLF) Exit EndIf $oPrivKey = ObjCreate("Chilkat.PrivateKey") $bSuccess = $oPrivKey.LoadAnyFormatFile("qa_data/certs_and_keys/union_client_certificate.nopass.key","") If ($bSuccess = False) Then ConsoleWrite($oPrivKey.LastErrorText & @CRLF) Exit EndIf ; Associate the private key with the cert. ; This will fail if the private key is not actually the correct one that corresponds to the public key stored within the cert. $bSuccess = $oCert.SetPrivateKey($oPrivKey) If ($bSuccess = False) Then ConsoleWrite($oCert.LastErrorText & @CRLF) Exit EndIf ; Tell HTTP to use the cert for client TLS certificate authentication. $bSuccess = $oHttp.SetSslClientCert($oCert) If ($bSuccess = False) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf Local $oResp = $oHttp.PostJson3("https://api-test.rsap.ca/oauth/token","application/json",$oJson) If ($oHttp.LastMethodSuccess = False) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf $oSbResponseBody = ObjCreate("Chilkat.StringBuilder") $oResp.GetBodySb($oSbResponseBody) $oJResp = ObjCreate("Chilkat.JsonObject") $oJResp.LoadSb($oSbResponseBody) $oJResp.EmitCompact = False ConsoleWrite("Response Body:" & @CRLF) ConsoleWrite($oJResp.Emit() & @CRLF) Local $iRespStatusCode = $oResp.StatusCode ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF) If ($iRespStatusCode >= 400) Then ConsoleWrite("Response Header:" & @CRLF) ConsoleWrite($oResp.Header & @CRLF) ConsoleWrite("Failed." & @CRLF) Exit EndIf ; Sample JSON response: ; (Sample code for parsing the JSON response is shown below) ; { ; "token_type": "Bearer", ; "expires_in": 3600, ; "access_token": "eyJ0eXAi...LnE" ; } ; This token expires in 1 hour. Your application could re-use the same token for up to an hour, ; or it can simply get a new access token before each request (if you're not doing too many requests). $bSuccess = $oJResp.WriteFile("qa_data/tokens/rsapToken.json") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.