Modification du mot de passe fonctionnel

- Ajout de jeton anti CSRF dans les formulaires de login/profile
This commit is contained in:
2019-05-22 14:24:53 +02:00
parent 08e10f1d47
commit eba02717cf
15 changed files with 1002 additions and 39 deletions

View File

@ -68,6 +68,23 @@ func (s *Service) Connect() (*ldap.Conn, error) {
return conn, err
}
func (s *Service) ModifyPassword(identity, oldPassword, newPassword string) error {
conn, err := s.Connect()
if err != nil {
return errors.Wrap(err, "error while connecting to ldap server")
}
defer conn.Close()
return s.ModifyPasswordConn(conn, identity, oldPassword, newPassword)
}
func (s *Service) ModifyPasswordConn(conn *ldap.Conn, identity, oldPassword, newPassword string) error {
req := ldap.NewPasswordModifyRequest("", oldPassword, newPassword)
if _, err := conn.PasswordModify(req); err != nil {
return errors.Wrap(err, "error while modifying password")
}
return nil
}
// From retrieves the ldap service in the given container
func From(container *service.Container) (*Service, error) {
service, err := container.Service(ServiceName)