feat: add EchoAuthCookie
This commit is contained in:
parent
48dc1b9be0
commit
66f73d1a53
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue