feat: add EchoAuthCookie

This commit is contained in:
Derrick Hammer 2024-03-18 17:02:16 -04:00
parent 48dc1b9be0
commit 66f73d1a53
Signed by: pcfreak30
GPG Key ID: C997C339BE476FF2
1 changed files with 25 additions and 0 deletions

View File

@ -8,6 +8,8 @@ import (
"strconv" "strconv"
"time" "time"
"github.com/samber/lo"
"go.sia.tech/jape" "go.sia.tech/jape"
"git.lumeweb.com/LumeWeb/portal/api/router" "git.lumeweb.com/LumeWeb/portal/api/router"
@ -122,6 +124,29 @@ func SetAuthCookie(jc jape.Context, jwt string, apiName string) {
} }
} }
func EchoAuthCookie(jc jape.Context, apiName string) {
for name, api := range apiRegistry.GetAllAPIs() {
routeableApi, ok := api.(router.RoutableAPI)
if !ok {
continue
}
if len(apiName) > 0 && apiName != name {
continue
}
cookies := lo.Filter(jc.Request.Cookies(), func(item *http.Cookie, _ int) bool {
return item.Name == routeableApi.AuthTokenName()
})
if len(cookies) == 0 {
continue
}
http.SetCookie(jc.ResponseWriter, cookies[0])
}
}
func ClearAuthCookie(jc jape.Context, apiName string) { func ClearAuthCookie(jc jape.Context, apiName string) {
for name, api := range apiRegistry.GetAllAPIs() { for name, api := range apiRegistry.GetAllAPIs() {
routeableApi, ok := api.(router.RoutableAPI) routeableApi, ok := api.(router.RoutableAPI)