VB.NET
VB.NET
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 VB.NET Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim integrationKey As String = "DIMS3V5QDVG9J9ABRXC4"
Dim secretKey As String = "HWVQ46nubLBxhnRlKddTltWIi3hL0fIQF2qTvLab"
Dim http As New Chilkat.Http
http.Accept = "application/json"
' Use your own hostname here:
Dim url As String = "https://api-a03782e1.duosecurity.com/auth/v2/preauth"
http.Login = integrationKey
http.Password = secretKey
Dim req As New Chilkat.HttpRequest
req.AddParam("username","matt")
req.HttpVerb = "POST"
req.ContentType = "application/x-www-form-urlencoded"
Dim resp As New Chilkat.HttpResponse
success = http.HttpReq(url,req,resp)
If (success = False) Then
Debug.WriteLine(http.LastErrorText)
Exit Sub
End If
Debug.WriteLine("status code = " & resp.StatusCode)
Dim json As New Chilkat.JsonObject
success = json.Load(resp.BodyStr)
json.EmitCompact = False
Debug.WriteLine(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 Integer
Dim count_j As Integer
Dim strVal As String
Dim responseResult As String = json.StringOf("response.result")
Dim responseStatus_msg As String = json.StringOf("response.status_msg")
Dim stat As String = json.StringOf("stat")
Dim i As Integer = 0
Dim count_i As Integer = json.SizeOfArray("response.devices")
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")
While j < count_j
json.J = j
strVal = json.StringOf("response.devices[i].capabilities[j]")
j = j + 1
End While
i = i + 1
End While