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) Duo Auth API - PreauthSee more Duo Auth MFA ExamplesThe /preauth endpoint determines whether a user is authorized to log in, and (if so) returns the user's available authentication factors. Note: This example requires Chilkat v9.5.0.89 or greater. For more information, see https://duo.com/docs/authapi#/preauth
; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. Local $sIntegrationKey = "DIMS3V5QDVG9J9ABRXC4" Local $secretKey = "HWVQ46nubLBxhnRlKddTltWIi3hL0fIQF2qTvLab" $oHttp = ObjCreate("Chilkat.Http") $oHttp.Accept = "application/json" ; Use your own hostname here: Local $sUrl = "https://api-a03782e1.duosecurity.com/auth/v2/preauth" ; This example requires Chilkat v9.5.0.89 or greater because Chilkat will automatically ; generate and send the HMAC signature for the requires based on the integration key and secret key. $oHttp.Login = $sIntegrationKey $oHttp.Password = $secretKey $oReq = ObjCreate("Chilkat.HttpRequest") $oReq.AddParam "username","matt" Local $oResp = $oHttp.PostUrlEncoded($sUrl,$oReq) If ($oHttp.LastMethodSuccess = False) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf ConsoleWrite("status code = " & $oResp.StatusCode & @CRLF) $oJson = ObjCreate("Chilkat.JsonObject") Local $bSuccess = $oJson.Load($oResp.BodyStr) $oJson.EmitCompact = False ConsoleWrite($oJson.Emit() & @CRLF) ; Sample successful output: ; status code = 200 ; { ; "response": { ; "devices": [ ; { ; "capabilities": [ ; "auto", ; "push", ; "sms", ; "mobile_otp" ; ], ; "device": "DP6GYVTQ5NK82BMR851F", ; "display_name": "iOS (XXX-XXX-1871)", ; "name": "", ; "number": "XXX-XXX-1871", ; "type": "phone" ; } ; ], ; "result": "auth", ; "status_msg": "Account is active" ; }, ; "stat": "OK" ; } ; Sample code to parse the above JSON response.. ; Use this online tool to generate parsing code from sample JSON: ; Generate Parsing Code from JSON Local $sDevice Local $sDisplay_name Local $sName Local $sNumber Local $sV_type Local $iJ Local $iCount_j Local $strVal Local $sResponseResult = $oJson.StringOf("response.result") Local $sResponseStatus_msg = $oJson.StringOf("response.status_msg") Local $stat = $oJson.StringOf("stat") Local $i = 0 Local $iCount_i = $oJson.SizeOfArray("response.devices") While $i < $iCount_i $oJson.I = $i $sDevice = $oJson.StringOf("response.devices[i].device") $sDisplay_name = $oJson.StringOf("response.devices[i].display_name") $sName = $oJson.StringOf("response.devices[i].name") $sNumber = $oJson.StringOf("response.devices[i].number") $sV_type = $oJson.StringOf("response.devices[i].type") $iJ = 0 $iCount_j = $oJson.SizeOfArray("response.devices[i].capabilities") While $iJ < $iCount_j $oJson.J = $iJ $strVal = $oJson.StringOf("response.devices[i].capabilities[j]") $iJ = $iJ + 1 Wend $i = $i + 1 Wend |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.