diff --git a/src/app/spreed-speakfreely-server/sessions.go b/src/app/spreed-speakfreely-server/sessions.go index 82074ea1..06c7ff90 100644 --- a/src/app/spreed-speakfreely-server/sessions.go +++ b/src/app/spreed-speakfreely-server/sessions.go @@ -83,11 +83,14 @@ func (sessions *Sessions) Patch(request *http.Request) (int, interface{}, http.H error = true } + var userid string // Validate with users handler. - userid, err := sessions.users.handler.Validate(&snr, request) - if err != nil { - error = true - log.Println("Session patch failed - users validation failed.", err) + if sessions.users.handler != nil { + userid, err = sessions.users.handler.Validate(&snr, request) + if err != nil { + error = true + log.Println("Session patch failed - users validation failed.", err) + } } // Make sure that we have a user. diff --git a/src/app/spreed-speakfreely-server/users.go b/src/app/spreed-speakfreely-server/users.go index 1347a183..181def5c 100644 --- a/src/app/spreed-speakfreely-server/users.go +++ b/src/app/spreed-speakfreely-server/users.go @@ -263,7 +263,7 @@ func NewUsers(hub *Hub, mode, realm string, runtime phoenix.Runtime) *Users { var err error // Create handler based on mode. - if handler, err = users.createHandler(mode, runtime); err == nil { + if handler, err = users.createHandler(mode, runtime); handler != nil && err == nil { users.handler = handler // Register handler Get at the hub. users.hub.useridRetriever = func(request *http.Request) (userid string, err error) {