Documentation ¶
Overview ¶
Package auth provides authentication and authorization support. Authentication: You are who you say you are. Authorization: You have permission to do what you are requesting to do.
Index ¶
- Constants
- Variables
- func GetUserID(ctx context.Context) uuid.UUID
- func IsAuthError(err error) bool
- func NewAuthError(format string, args ...any) error
- func SetClaims(ctx context.Context, claims Claims) context.Context
- func SetUserID(ctx context.Context, userID uuid.UUID) context.Context
- type Auth
- type AuthError
- type Claims
- type Config
- type KeyLookup
Constants ¶
const ( RuleAuthenticate = "auth" RuleAny = "ruleAny" RuleAdminOnly = "ruleAdminOnly" RuleUserOnly = "ruleUserOnly" RuleAdminOrSubject = "ruleAdminOrSubject" )
These are the current set of rules we have for auth.
Variables ¶
var ErrForbidden = errors.New("attempted action is not allowed")
ErrForbidden is returned when an auth issue is identified.
Functions ¶
func IsAuthError ¶
IsAuthError checks if an error of the type AuthError exists.
func NewAuthError ¶
NewAuthError creates an AuthError for the provided message.
Types ¶
type Auth ¶
type Auth struct {
// contains filtered or unexported fields
}
Auth is used to authenticate clients. It can generate a token for a set of user claims and recreate the claims by parsing the token.
func (*Auth) Authenticate ¶
Authenticate processes the token to validate the sender's token is valid.
type AuthError ¶
type AuthError struct {
// contains filtered or unexported fields
}
AuthError is used to pass an error during the request through the application with auth specific context.