auth_provider

package module
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2026 License: MIT Imports: 24 Imported by: 0

README

auth_provider

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActiveSession

type ActiveSession struct {
	Username   string `json:"username"`
	DBSCPubKey string `json:"dbsc_pub_key,omitempty"`
}

type AuthRequest

type AuthRequest struct {
	ClientID            string `json:"client_id"`
	RedirectURI         string `json:"redirect_uri"`
	State               string `json:"state"`
	Nonce               string `json:"nonce"`
	Scope               string `json:"scope"`
	CodeChallenge       string `json:"code_challenge"`
	CodeChallengeMethod string `json:"code_challenge_method"`
}

type OIDCClient

type OIDCClient struct {
	ClientID     string   `json:"client_id"`
	ClientSecret string   `json:"client_secret"`
	ClientName   string   `json:"client_name"`
	RedirectURIs []string `json:"redirect_uris"`
}

type PasskeyUser

type PasskeyUser struct {
	ID          []byte                `json:"id"`
	Name        string                `json:"name"`
	DisplayName string                `json:"displayName"`
	Credentials []webauthn.Credential `json:"credentials"`
}

func (*PasskeyUser) WebAuthnCredentials

func (u *PasskeyUser) WebAuthnCredentials() []webauthn.Credential

func (*PasskeyUser) WebAuthnDisplayName

func (u *PasskeyUser) WebAuthnDisplayName() string

func (*PasskeyUser) WebAuthnID

func (u *PasskeyUser) WebAuthnID() []byte

func (*PasskeyUser) WebAuthnIcon

func (u *PasskeyUser) WebAuthnIcon() string

func (*PasskeyUser) WebAuthnName

func (u *PasskeyUser) WebAuthnName() string

type Provider

type Provider struct {
	SessionManager *secure_policy.SessionManager
	SdfEngine      *secure_data_format.SecureDataEngine

	OnLoginSuccess func(username string, w http.ResponseWriter, r *http.Request)
	// contains filtered or unexported fields
}

func New

func New(gk *guikit.GUIKit, sm *secure_policy.SessionManager, sdf *secure_data_format.SecureDataEngine, rpDisplayName, rpID, rpOrigin string) (*Provider, error)

func (*Provider) AuthGuard

func (p *Provider) AuthGuard(next http.HandlerFunc) http.HandlerFunc

func (*Provider) Authorize

func (p *Provider) Authorize(w http.ResponseWriter, r *http.Request)

func (*Provider) BeginLogin

func (p *Provider) BeginLogin(w http.ResponseWriter, r *http.Request)

func (*Provider) BeginRegistration

func (p *Provider) BeginRegistration(w http.ResponseWriter, r *http.Request)

func (*Provider) CompleteHardwareEnrollment

func (p *Provider) CompleteHardwareEnrollment(username string, tpmPublicBytes []byte, r *http.Request) error

func (*Provider) DBSCRefresh

func (p *Provider) DBSCRefresh(w http.ResponseWriter, r *http.Request)

func (*Provider) DBSCRegister

func (p *Provider) DBSCRegister(w http.ResponseWriter, r *http.Request)

func (*Provider) FinishLogin

func (p *Provider) FinishLogin(w http.ResponseWriter, r *http.Request)

func (*Provider) FinishRegistration

func (p *Provider) FinishRegistration(w http.ResponseWriter, r *http.Request)

func (*Provider) HandleProvisionVerify

func (p *Provider) HandleProvisionVerify(w http.ResponseWriter, r *http.Request)

func (*Provider) ProvisionUserEntry

func (p *Provider) ProvisionUserEntry(username string) (string, error)

func (*Provider) RegisterClient

func (p *Provider) RegisterClient(w http.ResponseWriter, r *http.Request)

func (*Provider) RevokeToken

func (p *Provider) RevokeToken(w http.ResponseWriter, r *http.Request)

func (*Provider) ServeDiscovery

func (p *Provider) ServeDiscovery(w http.ResponseWriter, r *http.Request)

func (*Provider) ServeJS

func (p *Provider) ServeJS(w http.ResponseWriter, r *http.Request)

func (*Provider) ServeJWKS

func (p *Provider) ServeJWKS(w http.ResponseWriter, r *http.Request)

func (*Provider) SetGUIKit added in v1.0.1

func (p *Provider) SetGUIKit(gk *guikit.GUIKit)

SetGUIKit allows the test suite to inject the GUIKit dependency into the provider instance without exporting the internal field.

func (*Provider) TokenExchange

func (p *Provider) TokenExchange(w http.ResponseWriter, r *http.Request)

func (*Provider) VerifyProvisioningTOTP

func (p *Provider) VerifyProvisioningTOTP(username, passcode string) (bool, error)

type ProvisioningState

type ProvisioningState struct {
	Username   string    `json:"username"`
	TOTPSecret string    `json:"totp_secret"`
	IsVerified bool      `json:"is_verified"`
	ExpiresAt  time.Time `json:"expires_at"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL