auth

package
v0.0.0-...-48663ca Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnauthorized = errors.New("Unauthorized")
	ErrTimeSkewed   = errors.New("TimeSkewed")
)

Functions

This section is empty.

Types

type Provider

type Provider interface {
	Boot() template.HTML
	Verify(user, pass string) (kb.User, error)
}

type Rules

type Rules interface {
	Login(user kb.User, db kb.Database) error
}

type Server

type Server struct {
	Rules    Rules
	DB       kb.Database
	Provider map[string]Provider

	Sessions *session.Store
}

func NewServer

func NewServer(rules Rules, db kb.Database) *Server

func (*Server) ServeHTTP

func (server *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*Server) SessionFromHeader

func (server *Server) SessionFromHeader(r *http.Request) (*SessionInfo, error)

func (*Server) SessionFromToken

func (server *Server) SessionFromToken(r *http.Request) (*SessionInfo, error)

func (*Server) Verify

func (server *Server) Verify(w http.ResponseWriter, r *http.Request) (kb.User, error)

type SessionInfo

type SessionInfo struct {
	Token string  `json:"token"`
	User  kb.User `json:"user"`

	Pages  []kb.Slug         `json:"pages"`
	Params map[string]string `json:"params,omitempty"`
}

Directories

Path Synopsis
trust
This is a simple authentiaction scheme based on Hawk.
This is a simple authentiaction scheme based on Hawk.

Jump to

Keyboard shortcuts

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