forked from wrenn/wrenn
fix: OAuth ConnectProvider state HMAC format mismatch
ConnectProvider computed HMAC over bare state, but Callback always verifies HMAC(state+":"+intent). This caused the account-linking flow to always fail with invalid_state.
This commit is contained in:
@ -404,10 +404,10 @@ func (h *meHandler) ConnectProvider(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
mac := computeHMAC(h.jwtSecret, state)
|
||||
mac := computeHMAC(h.jwtSecret, state+":"+"login")
|
||||
http.SetCookie(w, &http.Cookie{
|
||||
Name: "oauth_state",
|
||||
Value: state + ":" + mac,
|
||||
Value: state + ":" + mac + ":" + "login",
|
||||
Path: "/",
|
||||
MaxAge: 600,
|
||||
HttpOnly: true,
|
||||
|
||||
Reference in New Issue
Block a user