Skip to content

Commit

Permalink
#68 move struct outside of function, minor cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
bnfinet committed Feb 8, 2019
1 parent 9798367 commit 3705f2e
Showing 1 changed file with 9 additions and 12 deletions.
21 changes: 9 additions & 12 deletions handlers/handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -573,6 +573,13 @@ func getUserInfoFromIndieAuth(r *http.Request, user *structs.User) error {
return nil
}

type adfsTokenRes struct {
AccessToken string `json:"access_token"`
TokenType string `json:"token_type"`
IDToken string `json:"id_token"`
ExpiresIn int64 `json:"expires_in"` // relative seconds from now
}

// More info: https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/overview/ad-fs-scenarios-for-developers#supported-scenarios
func getUserInfoFromADFS(r *http.Request, user *structs.User) error {
code := r.URL.Query().Get("code")
Expand All @@ -594,26 +601,16 @@ func getUserInfoFromADFS(r *http.Request, user *structs.User) error {
req.Header.Add("Content-Length", strconv.Itoa(len(formData.Encode())))
req.Header.Set("Accept", "application/json")

// v := url.Values{}
// userinfo, err := client.PostForm(cfg.GenOAuth.UserInfoURL, v)

client := &http.Client{}
userinfo, err := client.Do(req)

if err != nil {
// http.Error(w, err.Error(), http.StatusBadRequest)
return err
}
defer userinfo.Body.Close()

body, _ := ioutil.ReadAll(userinfo.Body)

var tokenRes struct {
AccessToken string `json:"access_token"`
TokenType string `json:"token_type"`
IDToken string `json:"id_token"`
ExpiresIn int64 `json:"expires_in"` // relative seconds from now
}
tokenRes := adfsTokenRes{}

if err := json.Unmarshal(body, &tokenRes); err != nil {
log.Errorf("oauth2: cannot fetch token: %v", err)
Expand All @@ -637,7 +634,7 @@ func getUserInfoFromADFS(r *http.Request, user *structs.User) error {
log.Println("adfs adfsUser: ", adfsUser)

adfsUser.PrepareUserData()
user.Username = adfsUser.UPN
user.Username = adfsUser.Username
log.Debug(user)
return nil
}
Expand Down

0 comments on commit 3705f2e

Please sign in to comment.