github.com/altoros/juju-vmware@v0.0.0-20150312064031-f19ae857ccca/apiserver/authentication/user.go (about) 1 // Copyright 2014 Canonical Ltd. All rights reserved. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package authentication 5 6 import ( 7 "github.com/juju/juju/apiserver/common" 8 "github.com/juju/juju/state" 9 ) 10 11 // UserIdentityProvider performs authentication for users. 12 type UserAuthenticator struct { 13 AgentAuthenticator 14 } 15 16 var _ EntityAuthenticator = (*UserAuthenticator)(nil) 17 18 // Authenticate authenticates the provided entity and returns an error on authentication failure. 19 func (u *UserAuthenticator) Authenticate(entity state.Entity, password, nonce string) error { 20 if _, ok := entity.(*state.User); ok { 21 return u.AgentAuthenticator.Authenticate(entity, password, nonce) 22 } 23 24 return common.ErrBadRequest 25 }