Documentation

Duo, Yubikey, and RSA-AM HTTP Backends

These specialized HTTP backends provide multi‑factor / token validation and strong authentication support layered on top of primary credential checks (username/password, EAP inner methods, etc.). They share core HTTP backend semantics (timeouts, connection pooling, TLS, statistics) but expose service‑specific fields.

BackendPurposeTypical Factor
duoDuo Security MFA / pre-auth workflowsPush / OTP / Phone
yubikeyYubico OTP validationOne-time password token
rsa-amRSA Authentication Manager / SecurIDHardware/software token (PIN+token code)

1. Duo Backend (duo)

pre_authentication can classify a request (allow / deny / enroll) before primary auth completes.

FieldRequiredNotes
urlYesDuo API hostname
usernameYesIntegration / client key
secretYesHMAC secret key
pre_authenticationRecommendedtrue to perform pre-auth triage
timeoutYesMilliseconds per request
connectionsNoConnection pool size

Example:

backends {
  duo "DUO_MFA" {
    url "https://api-12345678.duosecurity.com";
    username "DIXXXXXXXXXXXXXXXXXX";
    secret "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef";
    pre_authentication true;
    timeout 5000;
  }
}

2. Yubikey Backend (yubikey)

Validates modhex OTPs against Yubico (or compatible) validation servers.

FieldRequiredNotes
urlYesBase URL (https://api.yubico.com)
usernameYesClient ID
secretYesAPI secret key (HMAC)
timeoutYesMilliseconds per request
connectionsNoPool size

Example:

backends {
  yubikey "YUBIKEY_AUTH" {
    url "https://api.yubico.com";
    username "12345";
    secret "abcdefghijklmnopqrstuvwxyz234567";
    timeout 4000;
  }
}

3. RSA Authentication Manager (rsa-am)

Challenge/response token validation with optional multi‑step flow.

FieldRequiredNotes
urlYesRSA AM API endpoint
usernameYesAPI user
secretYesAPI secret / password
challenge_timeoutRecommendedMilliseconds allowed for challenge flow
policyOptionalServer-side policy name
timeoutYesBase HTTP timeout
connectionsNoPool size

Example:

backends {
  rsa-am "RSA_AM" {
    url "https://rsa-am.example.com";
    username "api_user";
    secret "SuperSecretPassword";
    challenge_timeout 60000;
    policy "DefaultPolicy";
    timeout 5000;
  }
}
Navigation
Parents