Skip to content

Commit 0d3ebd8

Browse files
committed
login and session management
1 parent 686d540 commit 0d3ebd8

File tree

4 files changed

+28
-5
lines changed

4 files changed

+28
-5
lines changed

web-console/src/layouts/Base.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export default function Base(props: BaseProps) {
66
return (
77
<>
88
basic bitch
9+
{document.cookie ? document.cookie : "nothing"}
910
{props.children}
1011
</>
1112
);

web-console/src/lib/auth/login.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ interface RetData {
66
export async function login(access: string, pass: string, req_dur = 3600): Promise<Response>{
77
const headers: Headers = new Headers()
88
headers.set("Content-Type", "application/json")
9+
headers.set("Access-Control-Allow-Origin", "*")
10+
headers.set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
911

1012
const res = await fetch(
11-
"https://localhost:3000/rpc/login",
13+
"http://localhost:3000/rpc/login",
1214
{
1315
method: "POST",
1416
headers: headers,
@@ -23,15 +25,16 @@ export async function login(access: string, pass: string, req_dur = 3600): Promi
2325
)
2426

2527
if (res.ok){
28+
console.log("setting cookie")
2629
const resp = await res.json() as RetData
27-
const exp = (new Date(new Date().getTime() + resp.session_time))
30+
const exp = (new Date(Date.now() + (resp.session_time * 60 * 1000)))
2831

2932
document.cookie =
3033
"session="
3134
+ resp.token
3235
+ "; expires="
3336
+ exp.toUTCString()
34-
+ "; path=/auth"
37+
+ "; path=/"
3538
}
3639

3740
return res

web-console/src/lib/headers.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
export function anon_headers(): Headers{
3+
const headers = new Headers()
4+
headers.set("Content-Type", "application/json")
5+
headers.set("Access-Control-Allow-Origin", "*")
6+
headers.set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
7+
return headers
8+
}
9+
10+
export function auth_headers(): Headers{
11+
const headers = new Headers()
12+
headers.set("Content-Type", "application/json")
13+
headers.set("Access-Control-Allow-Origin", "*")
14+
headers.set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
15+
return headers
16+
}

web-console/src/pages/Login.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default function Login(){
1414
const pass = formData.get("pass") as string
1515
try {
1616
await login(access, pass)
17-
void navigate("/console")
17+
void navigate("/")
1818
}
1919
catch (e) {
2020
setError(e as string)
@@ -31,7 +31,7 @@ export default function Login(){
3131
}, [navigate]);
3232

3333
return (
34-
<form onSubmit={handleSubmit}>
34+
<form method="post" onSubmit={handleSubmit}>
3535
{error ? <div className="error">{error}</div> : null}
3636
<label htmlFor="access">Access</label>
3737
<input
@@ -52,6 +52,9 @@ export default function Login(){
5252
name="req_dur"
5353
type="number"
5454
/>
55+
<button type="submit">
56+
Log in
57+
</button>
5558
</form>
5659
)
5760
}

0 commit comments

Comments
 (0)