vault: Index | Files

package duo

import ""

Package duo provides a Duo MFA handler to authenticate users with Duo. This handler is registered as the "duo" type in mfa_config.


Package Files

duo.go path_duo_access.go path_duo_config.go

func DuoHandler Uses

func DuoHandler(ctx context.Context, req *logical.Request, d *framework.FieldData, resp *logical.Response) (
    *logical.Response, error)

DuoHandler interacts with the Duo Auth API to authenticate a user login request. If successful, the original response from the login backend is returned.

func DuoPaths Uses

func DuoPaths() []*framework.Path

DuoPaths returns path functions to configure Duo.

func DuoRootPaths Uses

func DuoRootPaths() []string

DuoRootPaths returns the paths that are used to configure Duo.

type AuthClient Uses

type AuthClient interface {
    Preauth(options ...func(*url.Values)) (*authapi.PreauthResult, error)
    Auth(factor string, options ...func(*url.Values)) (*authapi.AuthResult, error)

func GetDuoAuthClient Uses

func GetDuoAuthClient(ctx context.Context, req *logical.Request, config *DuoConfig) (AuthClient, error)

type DuoAccess Uses

type DuoAccess struct {
    SKey string `json:"skey"`
    IKey string `json:"ikey"`
    Host string `json:"host"`

type DuoConfig Uses

type DuoConfig struct {
    UsernameFormat string `json:"username_format"`
    UserAgent      string `json:"user_agent"`
    PushInfo       string `json:"push_info"`

func GetDuoConfig Uses

func GetDuoConfig(ctx context.Context, req *logical.Request) (*DuoConfig, error)

Package duo imports 9 packages (graph) and is imported by 16 packages. Updated 2019-04-18. Refresh now. Tools for package owners.