Help us shape the future of Go! Take the 2026 Go Developer Survey

auth

package
v1.20.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Auth

type Auth interface {
	GuardDriver
	Guard(name string) GuardDriver
	Extend(name string, fn GuardFunc)
	Provider(name string, fn UserProviderFunc)
}

type GuardDriver

type GuardDriver interface {
	// Check whether user logged in or not
	Check() bool
	// Check whether user *not* logged in or not | !Check()
	Guest() bool
	// ID returns the current user id.
	ID() (token string, err error)
	// Login logs a user into the application.
	Login(user any) (token string, err error)
	// LoginUsingID logs the given user ID into the application.
	LoginUsingID(id any) (token string, err error)
	// Logout logs the user out of the application.
	Logout() error
	// Parse the given token.
	Parse(token string) (*Payload, error)
	// Refresh the token for the current user.
	Refresh() (token string, err error)
	// User returns the current authenticated user.
	User(user any) error
}

type GuardFunc

type GuardFunc func(ctx http.Context, name string, userProvider UserProvider) (GuardDriver, error)

type Payload

type Payload struct {
	ExpireAt time.Time
	IssuedAt time.Time
	Guard    string
	Key      string
}

type UserProvider

type UserProvider interface {
	// GetID returns the user id.
	GetID(user any) (any, error)
	// RetriveByID returns the user by id, user should be a pointer.
	RetriveByID(user any, id any) error
}

type UserProviderFunc

type UserProviderFunc func(ctx http.Context) (UserProvider, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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