feat(cookies): using HTTP setCookie instead of manually doing it

This commit is contained in:
2025-04-11 11:34:32 +01:00
parent 2302ba5eeb
commit 3960203d26
3 changed files with 24 additions and 16 deletions

View File

@ -12,6 +12,7 @@ import (
"screenmark/screenmark/.gen/haystack/haystack/model"
"screenmark/screenmark/agents/client"
"screenmark/screenmark/models"
"time"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
@ -310,10 +311,28 @@ func main() {
return
}
accessCookie := http.Cookie{
Name: "access",
Value: access,
Expires: time.Now().Add(1 * time.Hour),
Secure: false,
HttpOnly: true,
}
refreshCookie := http.Cookie{
Name: "refresh",
Value: access,
Expires: time.Now().Add(24 * 30 * time.Hour),
Secure: false,
HttpOnly: true,
Path: "/refresh",
}
http.SetCookie(w, &accessCookie) // TODO
http.SetCookie(w, &refreshCookie) // TODO
w.WriteHeader(http.StatusOK)
w.Header().Add("Content-Type", "application/json")
fmt.Fprint(w, string(json))
})
log.Println("Listening and serving on port 3040.")

View File

@ -25,8 +25,7 @@ export const Login: Component = () => {
throw new Error("bruh, no code");
}
const res = await postCode(email.toString(), code.toString());
console.log(res);
await postCode(email.toString(), code.toString());
}
};

View File

@ -124,22 +124,12 @@ export const postLogin = async (email: string): Promise<void> => {
await fetch(request);
};
const codeValidator = strictObject({
access: string(),
refresh: string(),
});
export const postCode = async (
email: string,
code: string,
): Promise<InferOutput<typeof codeValidator>> => {
export const postCode = async (email: string, code: string): Promise<void> => {
const request = getBaseRequest({
path: "code",
body: JSON.stringify({ email, code }),
method: "POST",
});
const res = await fetch(request).then((res) => res.json());
return parse(codeValidator, res);
await fetch(request).then((res) => res.json());
};