authn

package
v0.0.0-...-1810703 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RefreshTokenAuthenticator

type RefreshTokenAuthenticator struct {
	// contains filtered or unexported fields
}

RefreshTokenAuthenticator authenticates a refresh token and returns the auth.Subject it belongs to.

func NewRefreshTokenAuthenticator

func NewRefreshTokenAuthenticator(verifier RefreshTokenVerifier, subjectRepository SubjectRepository) RefreshTokenAuthenticator

NewRefreshTokenAuthenticator returns a new RefreshTokenAuthenticator.

func (RefreshTokenAuthenticator) AuthenticateRefreshToken

func (a RefreshTokenAuthenticator) AuthenticateRefreshToken(ctx context.Context, service string, refreshToken string) (auth.Subject, error)

AuthenticateRefreshToken implements auth.RefreshTokenAuthenticator.

type RefreshTokenVerifier

type RefreshTokenVerifier interface {
	VerifyRefreshToken(ctx context.Context, service string, refreshToken string) (auth.SubjectID, error)
}

RefreshTokenVerifier verifies a refresh token and returns the Subject ID it belongs to.

type SubjectRepository

type SubjectRepository interface {
	GetSubjectByID(ctx context.Context, id auth.SubjectID) (auth.Subject, error)
}

SubjectRepository looks up an auth.Subject based on an identifier.

type User

type User struct {
	Enabled      bool
	Username     string
	PasswordHash string
	Attrs        map[string]string
}

User is an auth.Subject.

func (User) Attribute

func (u User) Attribute(key string) (string, bool)

Attribute implements auth.Subject.

func (User) Attributes

func (u User) Attributes() map[string]string

Attributes implements auth.Subject.

func (User) ID

func (u User) ID() auth.SubjectID

ID implements auth.Subject.

type UserAuthenticator

type UserAuthenticator struct {
	// contains filtered or unexported fields
}

UserAuthenticator is a static list of users.

func NewUserAuthenticator

func NewUserAuthenticator(users []User) UserAuthenticator

NewUserAuthenticator returns a new UserAuthenticator.

func (UserAuthenticator) AuthenticatePassword

func (a UserAuthenticator) AuthenticatePassword(_ context.Context, username string, password string) (auth.Subject, error)

AuthenticatePassword implements auth.PasswordAuthenticator.

func (UserAuthenticator) GetSubjectByID

func (a UserAuthenticator) GetSubjectByID(_ context.Context, id auth.SubjectID) (auth.Subject, error)

GetSubjectByID implements SubjectRepository.

Jump to

Keyboard shortcuts

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