oauth: raise error if session state is missing

ref #9476
This commit is contained in:
bergquist 2017-10-12 15:24:20 +02:00
parent 0848ba2e9c
commit 88f55b01d8

View File

@ -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)