Auth: Introduce pre-logout hooks + add GCOM LogoutHook (#88475)
* Introduce preLogoutHooks in authn service * Add gcom_logout_hook * Config the api token from the Grafana config file * Simplify * Add tests for logout hook * Clean up * Update * Address PR comment * Fix
This commit is contained in:
@@ -72,6 +72,7 @@ type FetchPermissionsParams struct {
|
||||
|
||||
type PostAuthHookFn func(ctx context.Context, identity *Identity, r *Request) error
|
||||
type PostLoginHookFn func(ctx context.Context, identity *Identity, r *Request, err error)
|
||||
type PreLogoutHookFn func(ctx context.Context, requester identity.Requester, sessionToken *usertoken.UserToken) error
|
||||
|
||||
type Service interface {
|
||||
// Authenticate authenticates a request
|
||||
@@ -88,7 +89,8 @@ type Service interface {
|
||||
RedirectURL(ctx context.Context, client string, r *Request) (*Redirect, error)
|
||||
// Logout revokes session token and does additional clean up if client used to authenticate supports it
|
||||
Logout(ctx context.Context, user identity.Requester, sessionToken *usertoken.UserToken) (*Redirect, error)
|
||||
|
||||
// RegisterPreLogoutHook registers a hook that is called before a logout request.
|
||||
RegisterPreLogoutHook(hook PreLogoutHookFn, priority uint)
|
||||
// ResolveIdentity resolves an identity from org and namespace id.
|
||||
ResolveIdentity(ctx context.Context, orgID int64, namespaceID NamespaceID) (*Identity, error)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user