Files
wonderwall/pkg/openid/client/logout_callback.go
Trong Huu Nguyen 66cf08e602 refactor(openid/logout): simplify logout logic
As we already clear any local sessions before redirecting to the
Identity Provider, and the callback always redirects to a pre-configured URL,
there isn't really any need to maintain and verify state in the logout
callback.

In other words, the logout callback handler is simply a redirect handler.
2022-07-12 15:09:49 +02:00

32 lines
506 B
Go

package client
import (
"net/http"
)
type LogoutCallback interface {
PostLogoutRedirectURI() string
}
type logoutCallback struct {
Client
request *http.Request
}
func NewLogoutCallback(c Client, r *http.Request) LogoutCallback {
return &logoutCallback{
Client: c,
request: r,
}
}
func (in logoutCallback) PostLogoutRedirectURI() string {
redirect := in.config().Client().GetPostLogoutRedirectURI()
if len(redirect) == 0 {
return in.config().Wonderwall().Ingress
}
return redirect
}