Documentation ¶
Index ¶
- Variables
- func LoginRequest(req *http.Request) (params.LoginRequest, error)
- type Authenticator
- func (a *Authenticator) AddHandlers(mux *apiserverhttp.Mux)
- func (a *Authenticator) Authenticate(req *http.Request) (httpcontext.AuthInfo, error)
- func (a *Authenticator) AuthenticateLoginRequest(ctx context.Context, serverHost string, modelUUID string, ...) (httpcontext.AuthInfo, error)
- func (a *Authenticator) CreateLocalLoginMacaroon(ctx context.Context, tag names.UserTag, version bakery.Version) (*macaroon.Macaroon, error)
- func (a *Authenticator) Maintain(done <-chan struct{})
- type OpenLoginAuthorizer
Constants ¶
This section is empty.
Variables ¶
var AgentTags = []string{
names.MachineTagKind,
names.ControllerAgentTagKind,
names.UnitTagKind,
names.ApplicationTagKind,
names.ModelTagKind,
}
AgentTags are those used by any Juju agent.
Functions ¶
func LoginRequest ¶
func LoginRequest(req *http.Request) (params.LoginRequest, error)
LoginRequest extracts basic auth login details from an http.Request.
TODO(axw) we shouldn't be using params types here.
Types ¶
type Authenticator ¶
type Authenticator struct {
// contains filtered or unexported fields
}
Authenticator is an implementation of httpcontext.Authenticator, using *state.State for authentication.
This Authenticator only works with requests that have been handled by one of the httpcontext.*ModelHandler handlers.
func NewAuthenticator ¶
NewAuthenticator returns a new Authenticator using the given StatePool.
func (*Authenticator) AddHandlers ¶
func (a *Authenticator) AddHandlers(mux *apiserverhttp.Mux)
AddHandlers adds the handlers to the given mux for handling local macaroon logins.
func (*Authenticator) Authenticate ¶
func (a *Authenticator) Authenticate(req *http.Request) (httpcontext.AuthInfo, error)
Authenticate is part of the httpcontext.Authenticator interface.
func (*Authenticator) AuthenticateLoginRequest ¶
func (a *Authenticator) AuthenticateLoginRequest( ctx context.Context, serverHost string, modelUUID string, req params.LoginRequest, ) (httpcontext.AuthInfo, error)
AuthenticateLoginRequest authenticates a LoginRequest.
TODO(axw) we shouldn't be using params types here.
func (*Authenticator) CreateLocalLoginMacaroon ¶
func (a *Authenticator) CreateLocalLoginMacaroon(ctx context.Context, tag names.UserTag, version bakery.Version) (*macaroon.Macaroon, error)
CreateLocalLoginMacaroon is part of the httpcontext.LocalMacaroonAuthenticator interface.
func (*Authenticator) Maintain ¶
func (a *Authenticator) Maintain(done <-chan struct{})
Maintain periodically expires local login interactions.
type OpenLoginAuthorizer ¶
type OpenLoginAuthorizer struct{}
OpenAuthorizer authorises any login operation presented to it.