Add launchable
This commit is contained in:
36
js/core/Auth.js
Normal file
36
js/core/Auth.js
Normal file
@@ -0,0 +1,36 @@
|
||||
export class Auth {
|
||||
constructor(baseUrl = "http://localhost:5000") {
|
||||
this.baseUrl = baseUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify a session token against the fake auth API.
|
||||
* Returns the user ID if valid, or null if invalid.
|
||||
*/
|
||||
async verifySessionToken(token) {
|
||||
try {
|
||||
const res = await fetch(`${this.baseUrl}/api/verify/${encodeURIComponent(token)}`);
|
||||
if (!res.ok) return null;
|
||||
const data = await res.json();
|
||||
return data.id ?? null;
|
||||
} catch (err) {
|
||||
console.warn("[Auth] verifySessionToken error:", err);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Look up the user's display name by ID.
|
||||
*/
|
||||
async getUserNameById(id) {
|
||||
try {
|
||||
const res = await fetch(`${this.baseUrl}/api/users`);
|
||||
if (!res.ok) return "Unknown";
|
||||
const data = await res.json();
|
||||
return data[id] ?? `User${id}`;
|
||||
} catch (err) {
|
||||
console.warn("[Auth] getUserNameById error:", err);
|
||||
return `User${id}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user