mirror of
https://github.com/nais/wonderwall.git
synced 2026-05-08 09:27:12 +00:00
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package handler
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/nais/wonderwall/pkg/cookie"
|
|
"github.com/nais/wonderwall/pkg/redirect"
|
|
"github.com/nais/wonderwall/pkg/router"
|
|
)
|
|
|
|
var _ router.Source = &SSOServerHandler{}
|
|
|
|
type SSOServerHandler struct {
|
|
DefaultHandler
|
|
}
|
|
|
|
func NewSSOServerHandler(handler *DefaultHandler) (*SSOServerHandler, error) {
|
|
rdHandler, err := redirect.NewSSOServerHandler(handler.Config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
handler.RedirectHandler = rdHandler
|
|
return &SSOServerHandler{DefaultHandler: *handler}, nil
|
|
}
|
|
|
|
func (s *SSOServerHandler) Logout(w http.ResponseWriter, r *http.Request) {
|
|
cookie.ClearLegacyCookies(w, s.GetCookieOptions())
|
|
s.DefaultHandler.Logout(w, r)
|
|
}
|
|
|
|
func (s *SSOServerHandler) LogoutFrontChannel(w http.ResponseWriter, r *http.Request) {
|
|
cookie.ClearLegacyCookies(w, s.GetCookieOptions())
|
|
s.DefaultHandler.LogoutFrontChannel(w, r)
|
|
}
|
|
|
|
func (s *SSOServerHandler) LogoutLocal(w http.ResponseWriter, r *http.Request) {
|
|
cookie.ClearLegacyCookies(w, s.GetCookieOptions())
|
|
s.DefaultHandler.LogoutLocal(w, r)
|
|
}
|
|
|
|
func (s *SSOServerHandler) ReverseProxy(w http.ResponseWriter, r *http.Request) {
|
|
http.NotFound(w, r)
|
|
}
|