oauth2

package
v0.0.0-...-f767cfc Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrSignInInvalidUsername = errSignInInvalidUsername()
	ErrSignInInvalidPassword = errSignInInvalidPassword()
	ErrSignInUserNotFound    = errSignInUserNotFound()
)
View Source
var (
	ErrSignUpInvalidUsername   = errSignUpInvalidUsername()
	ErrSignUpInvalidPassword   = errSignUpInvalidPassword()
	ErrSignUpUserAlreadyExists = errSignUpUserAlreadyExists()
)
View Source
var (
	ErrRefreshInvalidOrExpiredToken = errRefreshInvalidOrExpiredToken()
)
View Source
var ErrSignOutInvalidOrExpiredToken = errSignOutInvalidOrExpiredToken()

Functions

This section is empty.

Types

type AccessTokenCreator

type AccessTokenCreator interface {
	New(claims jwt.AccessTokenClaims) (string, error)
}

type AccessTokenParser

type AccessTokenParser interface {
	Parse(token string) (jwt.AccessTokenClaims, error)
}

type LogOutRequestHandler

type LogOutRequestHandler interface {
	Handle(ctx context.Context, request SignOutRequest) (SignOutResponse, error)
}

func NewSignOutRequestHandler

func NewSignOutRequestHandler(
	accessTokenParser AccessTokenParser,
	refreshTokensDeleter RefreshTokensDeleter, refreshTokenGetter RefreshTokenGetter,
) LogOutRequestHandler

type RefreshRequest

type RefreshRequest struct {
	RefreshToken string
}

type RefreshRequestHandler

type RefreshRequestHandler interface {
	Handle(ctx context.Context, request RefreshRequest) (RefreshResponse, error)
}

func NewRefreshRequestHandler

func NewRefreshRequestHandler(
	accessTokenCreator AccessTokenCreator, accessTokenParser AccessTokenParser, accessTokenExpiresIn time.Duration,
	refreshTokenCreator RefreshTokenCreator, refreshTokenParser RefreshTokenParser, refreshTokenExpiresIn time.Duration,
	refreshTokenSaver RefreshTokenSaver, refreshTokenDeleter RefreshTokenDeleter, refreshTokenGetter RefreshTokenGetter,
) RefreshRequestHandler

type RefreshResponse

type RefreshResponse struct {
	AccessToken  string
	RefreshToken string
}

type RefreshTokenCreator

type RefreshTokenCreator interface {
	New(claims jwt.RefreshTokenClaims) (string, error)
}

type RefreshTokenDeleter

type RefreshTokenDeleter interface {
	DeleteRefreshToken(ctx context.Context, userID string, token domainrefresh.Token) error
}

type RefreshTokenGetter

type RefreshTokenGetter interface {
	GetRefreshTokens(ctx context.Context, userID string) ([]domainrefresh.Token, error)
}

type RefreshTokenParser

type RefreshTokenParser interface {
	Parse(token string) (jwt.RefreshTokenClaims, error)
}

type RefreshTokenSaver

type RefreshTokenSaver interface {
	SaveRefreshToken(ctx context.Context, userID string, token domainrefresh.Token) error
}

type RefreshTokensDeleter

type RefreshTokensDeleter interface {
	DeleteRefreshTokens(ctx context.Context, userID string, tokens []domainrefresh.Token) error
}

type SignInRequest

type SignInRequest struct {
	Username string
	Password string
}

type SignInRequestHandler

type SignInRequestHandler interface {
	Handle(ctx context.Context, request SignInRequest) (SignInResponse, error)
}

func NewSignInRequestHandler

func NewSignInRequestHandler(
	accessTokenCreator AccessTokenCreator, accessTokenExpiresIn time.Duration,
	refreshTokenCreator RefreshTokenCreator, refreshTokenExpiresIn time.Duration,
	refreshTokenSaver RefreshTokenSaver,
	userFinder UserFinder,
) SignInRequestHandler

type SignInResponse

type SignInResponse struct {
	AccessToken  string
	RefreshToken string
}

type SignOutRequest

type SignOutRequest struct {
	AccessToken string
}

type SignOutResponse

type SignOutResponse struct{}

type SignUpRequest

type SignUpRequest struct {
	Username string
	Password string
}

type SignUpRequestHandler

type SignUpRequestHandler interface {
	Handler(ctx context.Context, request SignUpRequest) (SignUpResponse, error)
}

func NewSignUpRequestHandler

func NewSignUpRequestHandler(
	userSaver UserSaver,
) SignUpRequestHandler

type SignUpResponse

type SignUpResponse struct{}

type UserFinder

type UserFinder interface {
	FindUserByUsername(ctx context.Context, username string) (domainuser.User, error)
}

type UserSaver

type UserSaver interface {
	SaveUser(ctx context.Context, user domainuser.User) error
}

Jump to

Keyboard shortcuts

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