Skip to content

Commit 4c63e92

Browse files
authoredJun 15, 2020
Merge pull request #339 from outdoorsy/master
Support Apple Sign In state
2 parents c87a580 + d791d05 commit 4c63e92

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed
 

‎gothic/gothic.go

+10-2
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,14 @@ var CompleteUserAuth = func(res http.ResponseWriter, req *http.Request) (goth.Us
191191
return user, err
192192
}
193193

194+
params := req.URL.Query()
195+
if params.Encode() == "" && req.Method == "POST" {
196+
req.ParseForm()
197+
params = req.Form
198+
}
199+
194200
// get new token and retry fetch
195-
_, err = sess.Authorize(provider, req.URL.Query())
201+
_, err = sess.Authorize(provider, params)
196202
if err != nil {
197203
return goth.User{}, err
198204
}
@@ -220,8 +226,10 @@ func validateState(req *http.Request, sess goth.Session) error {
220226
return err
221227
}
222228

229+
reqState := GetState(req)
230+
223231
originalState := authURL.Query().Get("state")
224-
if originalState != "" && (originalState != req.URL.Query().Get("state")) {
232+
if originalState != "" && (originalState != reqState) {
225233
return errors.New("state token mismatch")
226234
}
227235
return nil

0 commit comments

Comments
 (0)
Please sign in to comment.