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
(Classic ASP) 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
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. integrationKey = "DIMS3V5QDVG9J9ABRXC4" secretKey = "HWVQ46nubLBxhnRlKddTltWIi3hL0fIQF2qTvLab" ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Http") set http = Server.CreateObject("Chilkat.Http") http.Accept = "application/json" ' Use your own hostname here: url = "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. http.Login = integrationKey http.Password = secretKey ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.HttpRequest") set req = Server.CreateObject("Chilkat.HttpRequest") req.AddParam "username","matt" ' resp is a Chilkat.HttpResponse Set resp = http.PostUrlEncoded(url,req) If (http.LastMethodSuccess = 0) Then Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>" Response.End End If Response.Write "<pre>" & Server.HTMLEncode( "status code = " & resp.StatusCode) & "</pre>" ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = Server.CreateObject("Chilkat.JsonObject") success = json.Load(resp.BodyStr) json.EmitCompact = 0 Response.Write "<pre>" & Server.HTMLEncode( json.Emit()) & "</pre>" ' 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 responseResult = json.StringOf("response.result") responseStatus_msg = json.StringOf("response.status_msg") stat = json.StringOf("stat") i = 0 count_i = json.SizeOfArray("response.devices") Do While i < count_i json.I = i device = json.StringOf("response.devices[i].device") display_name = json.StringOf("response.devices[i].display_name") name = json.StringOf("response.devices[i].name") number = json.StringOf("response.devices[i].number") v_type = json.StringOf("response.devices[i].type") j = 0 count_j = json.SizeOfArray("response.devices[i].capabilities") Do While j < count_j json.J = j strVal = json.StringOf("response.devices[i].capabilities[j]") j = j + 1 Loop i = i + 1 Loop %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.