open-vault/website/source/api/system/mfa-duo.html.md
Chris Hoffman a2d2f1a543 Adding support for base_url for Okta api (#3316)
* Adding support for base_url for Okta api

* addressing feedback suggestions, bringing back optional group query

* updating docs

* cleaning up the login method

* clear out production flag if base_url is set

* docs updates

* docs updates
2017-09-15 00:27:45 -04:00

3.5 KiB
Raw Blame History

layout page_title sidebar_current description
api /sys/mfa/method/duo - HTTP API docs-http-system-mfa-duo The '/sys/mfa/method/duo' endpoint focuses on managing Duo MFA behaviors in Vault Enterprise.

Configure Duo MFA Method

This endpoint defines a MFA method of type Duo.

Method Path Produces
POST /sys/mfa/method/duo/:name 204 (empty body)

Parameters

  • name (string: <required>) Name of the MFA method.

  • mount_accessor (string: <required>) - The mount to tie this method to for use in automatic mappings. The mapping will use the Name field of Personas associated with this mount as the username in the mapping.

  • username_format (string) - A format string for mapping Identity names to MFA method names. Values to substitute should be placed in {{}}. For example, "{{persona.name}}@example.com". If blank, the Persona's Name field will be used as-is. Currently-supported mappings:

    • persona.name: The name returned by the mount configured via the mount_accessor parameter
    • entity.name: The name configured for the Entity
    • persona.metadata.<key>: The value of the Persona's metadata parameter
    • entity.metadata.<key>: The value of the Entity's metadata paramater
  • secret_key (string) - Secret key for Duo.

  • integration_key (string) - Integration key for Duo.

  • api_hostname (string) - API hostname for Duo.

  • push_info (string) - Push information for Duo.

Sample Payload

{
  "mount_accessor": "auth_userpass_1793464a",
  "secret_key": "BIACEUEAXI20BNWTEYXT",
  "integration_key":"8C7THtrIigh2rPZQMbguugt8IUftWhMRCOBzbuyz",
  "api_hostname":"api-2b5c39f5.duosecurity.com"
}

Sample Request

$ curl \
    --header "X-Vault-Token: ..." \
    --request POST \
    --data @payload.json \
    https://vault.rocks/v1/sys/mfa/method/duo/my_duo

Read Duo MFA Method

This endpoint queries the MFA configuration of Duo type for a given method name.

Method Path Produces
GET /sys/mfa/method/duo/:name 200 application/json

Parameters

  • name (string: <required>) Name of the MFA method.

Sample Request

$ curl \
    --header "X-Vault-Token: ..." \
    --request GET \
    https://vault.rocks/v1/sys/mfa/method/duo/my_duo

Sample Response

{
        "data": {
                "api_hostname": "api-2b5c39f5.duosecurity.com",
                "id": "0ad21b78-e9bb-64fa-88b8-1e38db217bde",
                "integration_key": "BIACEUEAXI20BNWTEYXT",
                "mount_accessor": "auth_userpass_1793464a",
                "name": "my_duo",
                "pushinfo": "",
                "secret_key": "8C7THtrIigh2rPZQMbguugt8IUftWhMRCOBzbuyz",
                "type": "duo",
                "username_format": ""
        }
}

Delete Duo MFA Method

This endpoint deletes a Duo MFA method.

Method Path Produces
DELETE /sys/mfa/method/duo/:name 204 (empty body)

Parameters

  • name (string: <required>) - Name of the MFA method.

Sample Request

$ curl \
    --header "X-Vault-Token: ..." \
    --request DELETE \
    https://vault.rocks/v1/sys/mfa/method/duo/my_duo