auth

package
v2.0.0-...-86705bf Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const MethodJSONAuth settings.AuthMethod = "json"

MethodJSONAuth is used to identify json auth.

View Source
const MethodNoAuth settings.AuthMethod = "noauth"

MethodNoAuth is used to identify no auth.

View Source
const MethodProxyAuth settings.AuthMethod = "proxy"

MethodProxyAuth is used to identify no auth.

Variables

This section is empty.

Functions

This section is empty.

Types

type Auther

type Auther interface {
	// Auth is called to authenticate a request.
	Auth(r *http.Request, s users.Store, root string) (*users.User, error)
	// LoginPage indicates if this auther needs a login page.
	LoginPage() bool
}

Auther is the authentication interface.

type JSONAuth

type JSONAuth struct {
	ReCaptcha *ReCaptcha `json:"recaptcha" yaml:"recaptcha"`
}

JSONAuth is a json implementation of an Auther.

func (JSONAuth) Auth

func (a JSONAuth) Auth(r *http.Request, sto users.Store, root string) (*users.User, error)

Auth authenticates the user via a json in content body.

func (JSONAuth) LoginPage

func (a JSONAuth) LoginPage() bool

LoginPage tells that json auth doesn't require a login page.

type NoAuth

type NoAuth struct{}

NoAuth is no auth implementation of auther.

func (NoAuth) Auth

func (a NoAuth) Auth(r *http.Request, sto users.Store, root string) (*users.User, error)

Auth uses authenticates user 1.

func (NoAuth) LoginPage

func (a NoAuth) LoginPage() bool

LoginPage tells that no auth doesn't require a login page.

type ProxyAuth

type ProxyAuth struct {
	Header string `json:"header"`
}

ProxyAuth is a proxy implementation of an auther.

func (ProxyAuth) Auth

func (a ProxyAuth) Auth(r *http.Request, sto users.Store, root string) (*users.User, error)

Auth authenticates the user via an HTTP header.

func (ProxyAuth) LoginPage

func (a ProxyAuth) LoginPage() bool

LoginPage tells that proxy auth doesn't require a login page.

type ReCaptcha

type ReCaptcha struct {
	Host   string `json:"host"`
	Key    string `json:"key"`
	Secret string `json:"secret"`
}

ReCaptcha identifies a recaptcha connection.

func (*ReCaptcha) Ok

func (r *ReCaptcha) Ok(response string) (bool, error)

Ok checks if a reCaptcha responde is correct.

type Storage

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

Storage is a auth storage.

func NewStorage

func NewStorage(back StorageBackend, userStore *users.Storage) *Storage

NewStorage creates a auth storage from a backend.

func (*Storage) Get

func (s *Storage) Get(t settings.AuthMethod) (Auther, error)

Get wraps a StorageBackend.Get.

func (*Storage) Save

func (s *Storage) Save(a Auther) error

Save wraps a StorageBackend.Save.

type StorageBackend

type StorageBackend interface {
	Get(settings.AuthMethod) (Auther, error)
	Save(Auther) error
}

StorageBackend is a storage backend for auth storage.

Jump to

Keyboard shortcuts

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