diff --git a/notifications/notifications.go b/notifications/notifications.go index 6ad5ecaa74b0f36f9530e97b97e9d40b453e02a0..0e20f00d8419fb0fed3e2cf5719d68ccf661c296 100644 --- a/notifications/notifications.go +++ b/notifications/notifications.go @@ -193,6 +193,9 @@ func pollForNotifications(nb *Impl) (strings []string, e error) { // RegisterForNotifications is called by the client, and adds a user registration to our database func (nb *Impl) RegisterForNotifications(clientToken []byte, auth *connect.Auth) error { + if !auth.IsAuthenticated { + return errors.New("Cannot register for notifications: client is not authenticated") + } // Implement this u := &storage.User{ Id: auth.Sender.GetId(), @@ -207,6 +210,9 @@ func (nb *Impl) RegisterForNotifications(clientToken []byte, auth *connect.Auth) // UnregisterForNotifications is called by the client, and removes a user registration from our database func (nb *Impl) UnregisterForNotifications(auth *connect.Auth) error { + if !auth.IsAuthenticated { + return errors.New("Cannot unregister for notifications: client is not authenticated") + } err := nb.Storage.DeleteUser(auth.Sender.GetId()) if err != nil { return errors.Wrap(err, "Failed to unregister user with notifications")