Browse Source

Handle unauthorized user events gracefully (#15071) (#15074)

mj-v1.14.3
Lauris BH 1 year ago
committed by GitHub
parent
commit
ac2ae66ae7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      routers/events/events.go
  2. 2
      routers/routes/web.go

11
routers/events/events.go

@ -30,6 +30,17 @@ func Events(ctx *context.Context) {
ctx.Resp.Header().Set("X-Accel-Buffering", "no")
ctx.Resp.WriteHeader(http.StatusOK)
if !ctx.IsSigned {
// Return unauthorized status event
event := (&eventsource.Event{
Name: "unauthorized",
Data: "sorry",
})
_, _ = event.WriteTo(ctx)
ctx.Resp.Flush()
return
}
// Listen to connection close and un-register messageChan
notify := ctx.Req.Context().Done()
ctx.Resp.Flush()

2
routers/routes/web.go

@ -400,7 +400,7 @@ func RegisterRoutes(m *web.Route) {
})
}, reqSignOut)
m.Any("/user/events", reqSignIn, events.Events)
m.Any("/user/events", events.Events)
m.Group("/login/oauth", func() {
m.Get("/authorize", bindIgnErr(auth.AuthorizationForm{}), user.AuthorizeOAuth)

Loading…
Cancel
Save