Sample code for 30+ languages & platforms
Delphi DLL

Duo Auth API - Check

See more Duo Auth MFA Examples

The /check endpoint can be called to verify that the Auth API integration and secret keys are valid, and that the signature is being generated properly.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
integrationKey: PWideChar;
secretKey: PWideChar;
http: HCkHttp;
url: PWideChar;
jsonStr: PWideChar;

begin
success := False;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

integrationKey := 'DIMS3V5QDVG9J9ABRXC4';
secretKey := 'HWVQ46nubLBxhnRlKddTltWIi3hL0fIQF2qTvLab';

http := CkHttp_Create();

CkHttp_putAccept(http,'application/json');

// Use your own hostname here:
url := 'https://api-a03782e1.duosecurity.com/auth/v2/check';

CkHttp_putLogin(http,integrationKey);
CkHttp_putPassword(http,secretKey);

jsonStr := CkHttp__quickGetStr(http,url);
if (CkHttp_getLastMethodSuccess(http) = False) then
  begin
    Memo1.Lines.Add(CkHttp__lastErrorText(http));
    Exit;
  end;

Memo1.Lines.Add('status code = ' + IntToStr(CkHttp_getLastStatus(http)));
Memo1.Lines.Add(jsonStr);

// Sample successful output:

// status code = 200
// {"response": {"time": 1632358829}, "stat": "OK"}

CkHttp_Dispose(http);

end;