mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-07-16 14:52:35 -05:00
LoginSucceededEvent fires from NewUserAuthTokenResponse (the chokepoint where local, LDAP and OIDC logins converge), LoginFailedEvent from handleFailedPassword on every failed password check, LogoutEvent from the logout handler, and APIToken issued/revoked/used events from the token model and auth middleware. The token events carry IDs only since the freshly created token struct holds the raw token string and the poison queue logs message payloads. None of these events have a listener yet — the audit registration adds them. Dispatching to a topic without subscribers is a no-op.
59 lines
1.8 KiB
Go
59 lines
1.8 KiB
Go
// Vikunja is a to-do list application to facilitate your life.
|
|
// Copyright 2018-present Vikunja and contributors. All rights reserved.
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
package user
|
|
|
|
// CreatedEvent represents a CreatedEvent event
|
|
type CreatedEvent struct {
|
|
User *User
|
|
}
|
|
|
|
// Name defines the name for CreatedEvent
|
|
func (t *CreatedEvent) Name() string {
|
|
return "user.created"
|
|
}
|
|
|
|
// LoginSucceededEvent is fired after a user successfully authenticated,
|
|
// regardless of the auth provider (local, LDAP, OpenID).
|
|
type LoginSucceededEvent struct {
|
|
User *User `json:"user"`
|
|
}
|
|
|
|
// Name defines the name for LoginSucceededEvent
|
|
func (t *LoginSucceededEvent) Name() string {
|
|
return "user.login.succeeded"
|
|
}
|
|
|
|
// LoginFailedEvent is fired for every failed password check of a known user.
|
|
type LoginFailedEvent struct {
|
|
User *User `json:"user"`
|
|
}
|
|
|
|
// Name defines the name for LoginFailedEvent
|
|
func (t *LoginFailedEvent) Name() string {
|
|
return "user.login.failed"
|
|
}
|
|
|
|
// LogoutEvent is fired when a user destroys their session.
|
|
type LogoutEvent struct {
|
|
UserID int64 `json:"user_id"`
|
|
}
|
|
|
|
// Name defines the name for LogoutEvent
|
|
func (t *LogoutEvent) Name() string {
|
|
return "user.logout"
|
|
}
|