Visual Basic 6.0
Visual Basic 6.0
Duo Auth API - Preauth
See more Duo Auth MFA Examples
The /preauth endpoint determines whether a user is authorized to log in, and (if so) returns the user's available authentication factors.Chilkat Visual Basic 6.0 Downloads
Dim success As Long
success = 0
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim integrationKey As String
integrationKey = "DIMS3V5QDVG9J9ABRXC4"
Dim secretKey As String
secretKey = "HWVQ46nubLBxhnRlKddTltWIi3hL0fIQF2qTvLab"
Dim http As New ChilkatHttp
http.Accept = "application/json"
' Use your own hostname here:
Dim url As String
url = "https://api-a03782e1.duosecurity.com/auth/v2/preauth"
http.Login = integrationKey
http.Password = secretKey
Dim req As New ChilkatHttpRequest
req.AddParam "username","matt"
req.HttpVerb = "POST"
req.ContentType = "application/x-www-form-urlencoded"
Dim resp As New ChilkatHttpResponse
success = http.HttpReq(url,req,resp)
If (success = 0) Then
Debug.Print http.LastErrorText
Exit Sub
End If
Debug.Print "status code = " & resp.StatusCode
Dim json As New ChilkatJsonObject
success = json.Load(resp.BodyStr)
json.EmitCompact = 0
Debug.Print json.Emit()
' 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
Dim device As String
Dim display_name As String
Dim name As String
Dim number As String
Dim v_type As String
Dim j As Long
Dim count_j As Long
Dim strVal As String
Dim responseResult As String
responseResult = json.StringOf("response.result")
Dim responseStatus_msg As String
responseStatus_msg = json.StringOf("response.status_msg")
Dim stat As String
stat = json.StringOf("stat")
Dim i As Long
i = 0
Dim count_i As Long
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