oauth: raise error if session state is missing

ref #9476
pull/9515/head
bergquist 8 years ago
parent 0848ba2e9c
commit 88f55b01d8
  1. 8
      pkg/api/login_oauth.go

@ -71,8 +71,12 @@ func OAuthLogin(ctx *middleware.Context) {
return
}
// verify state string
savedState := ctx.Session.Get(middleware.SESS_KEY_OAUTH_STATE).(string)
savedState, ok := ctx.Session.Get(middleware.SESS_KEY_OAUTH_STATE).(string)
if !ok {
ctx.Handle(500, "login.OAuthLogin(missing saved state)", nil)
return
}
queryState := ctx.Query("state")
if savedState != queryState {
ctx.Handle(500, "login.OAuthLogin(state mismatch)", nil)

Loading…
Cancel
Save