auth

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2022 License: MPL-2.0 Imports: 3 Imported by: 1

Documentation

Index

Constants

View Source
const (
	CredentialTypeBasic  = CredentialType("BASIC")
	CredentialTypeAPIKey = CredentialType("BEARER")
	CredentialTypeJWT    = CredentialType("JWT")
)
View Source
const (
	RoleSuperUser = RoleType("super_user")
	RoleAdmin     = RoleType("admin")
	RoleAPI       = RoleType("api")
)

Variables

View Source
var (
	ErrCredentialNotFound = errors.New("credential not found")
)

Functions

This section is empty.

Types

type AuthenticatedUser

type AuthenticatedUser struct {
	AuthenticatedByRealm string      `json:"-"` // Name of realm that authenticated this user
	Credential           Credential  `json:"credential"`
	Role                 Role        `json:"role"`
	Metadata             interface{} `json:"-"` // Additional data set by the realm that authenticated the user, see the jwt realm for an example
}

type Credential

type Credential struct {
	Type     CredentialType `json:"type"`
	Username string         `json:"username"`
	Password string         `json:"password"`
	APIKey   string         `json:"api_key"`
	Token    string         `json:"token"`
}

func (*Credential) String

func (c *Credential) String() string

type CredentialType

type CredentialType string

func (CredentialType) String

func (c CredentialType) String() string

type Realm

type Realm interface {
	GetName() string
	Authenticate(ctx context.Context, cred *Credential) (*AuthenticatedUser, error)
}

type Role

type Role struct {
	Type  RoleType `json:"type"`
	Group string   `json:"group"`
	App   string   `json:"app,omitempty"`
}

Role represents the permission a user is given, if the Type is RoleSuperUser, Then the user will have access to everything regardless of the value of Group.

func (*Role) HasApp added in v0.6.0

func (r *Role) HasApp(appID string) bool

func (*Role) HasGroup added in v0.6.0

func (r *Role) HasGroup(groupID string) bool

func (*Role) Validate

func (r *Role) Validate(credType string) error

type RoleType

type RoleType string

func (RoleType) Is

func (r RoleType) Is(rt RoleType) bool

func (RoleType) IsValid

func (r RoleType) IsValid() bool

func (RoleType) String

func (r RoleType) String() string

Directories

Path Synopsis
realm
jwt

Jump to

Keyboard shortcuts

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