respond to login attempt

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2019-05-24 06:43:42 +00:00
parent 0e7cb059d4
commit 19147ea950
1 changed files with 30 additions and 14 deletions

View File

@ -11,6 +11,7 @@ import "github.com/golang/protobuf/proto"
import pb "git.wit.com/wit/witProtobuf"
import "github.com/gorilla/websocket"
import "github.com/davecgh/go-spew/spew"
import "github.com/tidwall/gjson"
const (
API = "http://stackapi:4000/"
@ -22,14 +23,13 @@ type network struct {
Subdomain string `json:"subdomain"`
}
func checkLogin(token string) bool {
var networks []network
func checkLogin(ge *pb.Event) bool {
req, err := http.NewRequest("GET", API + "me", nil)
if err != nil {
log.Println("can't make new req")
return false
}
req.Header.Set("X-Wit-Auth", token)
req.Header.Set("X-Wit-Auth", ge.Token)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
@ -47,16 +47,17 @@ func checkLogin(token string) bool {
return false
} else {
len := len(body)
err = json.Unmarshal(body, &networks)
if err != nil {
log.Println("body = ", body)
log.Println("body len = ", len)
log.Println("can't unmarshal resp for list networks: %s", err)
return false
log.Println("body = ", string(body))
log.Println("body len = ", len)
email := gjson.Get(string(body), "email")
log.Println("email = ", email.String())
log.Println("ge.Username = ", ge.Username)
if (email.String() == ge.Username) {
log.Println("\tTHIS TOTALLY WORKED MAN")
return true
}
}
spew.Dump(networks)
return true
return false
}
func fetchNetworks(token string) []network {
@ -172,13 +173,28 @@ func processLoginEvent(ge *pb.Event) *pb.Event {
log.Println("processLoginEvent() START")
log.Println("processLoginEvent() ge.Token =", ge.Token)
log.Println("processLoginEvent() NEED TO LOGIN HERE OR CHECK TOKEN WORKS")
checkLogin(ge.Token)
if checkLogin(ge) {
log.Println("processLoginEvent() LOGIN WORKED")
log.Println("processLoginEvent() LOGIN WORKED")
log.Println("processLoginEvent() LOGIN WORKED")
e := pb.MakeOkResponse()
e.Comment = "LOGIN WORKED"
return e
} else {
log.Println("processLoginEvent() LOGIN FAILED")
log.Println("processLoginEvent() LOGIN FAILED")
log.Println("processLoginEvent() LOGIN FAILED")
e := pb.MakeFailResponse()
e.Comment = "LOGIN FAILED"
return e
}
log.Println("processLoginEvent() END")
e := pb.Event{}
return &e
e := &pb.Event{}
return e
}
// Also potentially look at: