mirror of
https://github.com/goauthentik/authentik
synced 2026-04-27 09:57:31 +02:00
* wip Co-authored-by: Jens Langhammer <jens@goauthentik.io> Signed-off-by: Jens Langhammer <jens@goauthentik.io> Signed-off-by: Dominic R <dominic@sdko.org> * remove testing files * a * wip * pls * pls2 * a * Update authentik/providers/proxy/models.py Co-authored-by: Jens L. <jens@beryju.org> Signed-off-by: Dominic R <dominic@sdko.org> * makemigrations * pls * pls1000 * dont migrate in go Signed-off-by: Jens Langhammer <jens@goauthentik.io> * set uuid Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix more test cases Signed-off-by: Jens Langhammer <jens@goauthentik.io> * better logging Signed-off-by: Jens Langhammer <jens@goauthentik.io> * set gorm nowfunc (gorm defaults to local time) Signed-off-by: Jens Langhammer <jens@goauthentik.io> * improve test db closing Signed-off-by: Jens Langhammer <jens@goauthentik.io> * move expiration to field Signed-off-by: Jens Langhammer <jens@goauthentik.io> * dont' manually set table Signed-off-by: Jens Langhammer <jens@goauthentik.io> * refactor tests more Signed-off-by: Jens Langhammer <jens@goauthentik.io> * more refactor Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix em Signed-off-by: Jens Langhammer <jens@goauthentik.io> * postgres cleanup is done by worker Signed-off-by: Jens Langhammer <jens@goauthentik.io> * update expiry and set expiring Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io> Signed-off-by: Dominic R <dominic@sdko.org> Co-authored-by: Jens Langhammer <jens@goauthentik.io> Co-authored-by: Jens L. <jens@beryju.org>
30 lines
668 B
Go
30 lines
668 B
Go
package proxyv2
|
|
|
|
import (
|
|
"context"
|
|
|
|
"goauthentik.io/internal/outpost/ak"
|
|
"goauthentik.io/internal/outpost/proxyv2/types"
|
|
)
|
|
|
|
func (ps *ProxyServer) handleWSMessage(ctx context.Context, msg ak.Event) error {
|
|
if msg.Instruction != ak.EventKindSessionEnd {
|
|
return nil
|
|
}
|
|
mmsg := ak.EventArgsSessionEnd{}
|
|
err := msg.ArgsAs(&mmsg)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
for _, p := range ps.apps {
|
|
ps.log.WithField("provider", p.Host).Debug("Logging out")
|
|
err := p.Logout(ctx, func(c types.Claims) bool {
|
|
return c.Sid == mmsg.SessionID
|
|
})
|
|
if err != nil {
|
|
ps.log.WithField("provider", p.Host).WithError(err).Warning("failed to logout")
|
|
}
|
|
}
|
|
return nil
|
|
}
|