37 lines
956 B
JavaScript
37 lines
956 B
JavaScript
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}`;
|
|
}
|
|
}
|
|
}
|