20 lines
504 B
Go
20 lines
504 B
Go
package auth
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
ory "github.com/ory/client-go"
|
|
)
|
|
|
|
func LogOutHandler(oryClient *ory.APIClient, tunnelURL string) http.HandlerFunc {
|
|
return func(w http.ResponseWriter, r *http.Request) {
|
|
cookies := r.Header.Get("Cookie")
|
|
logoutFlow, _, err := oryClient.FrontendAPI.CreateBrowserLogoutFlow(r.Context()).Cookie(cookies).Execute()
|
|
if err != nil {
|
|
http.Redirect(w, r, "/", http.StatusSeeOther)
|
|
return
|
|
}
|
|
http.Redirect(w, r, logoutFlow.LogoutUrl, http.StatusSeeOther)
|
|
}
|
|
}
|