This repository has been archived on 2024-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
adlin/pkg/login-validator/cmd/auth_fwd.go

34 lines
625 B
Go

package main
import (
"bytes"
"encoding/json"
"net/http"
"net/url"
)
type FWDAuth struct {
URI *url.URL
}
type loginForm struct {
Username string
Password string
}
func (f FWDAuth) checkAuth(username, password string) (res bool, err error) {
lf := loginForm{username, password}
j, err := json.Marshal(lf)
if err != nil {
return false, err
} else if r, err := http.NewRequest("POST", f.URI.String(), bytes.NewReader(j)); err != nil {
return false, err
} else if resp, err := http.DefaultClient.Do(r); err != nil {
return false, err
} else {
resp.Body.Close()
return resp.StatusCode < 400, err
}
}