feat: completely overhaul the auth model

* Cookies are now encrypted JWTs (GHSA-wrqq-v7qw-r5w7)
* Authentication is stored in the SQLite database (auto-migrated)
* Session logic is much cleaner
This commit is contained in:
Aarnav Tale 2025-08-19 17:49:32 -04:00
parent 8cb91cd45b
commit d2c4f5eb2b
No known key found for this signature in database
29 changed files with 628 additions and 505 deletions

View file

@ -14,7 +14,7 @@ export async function machineAction({
);
const formData = await request.formData();
const apiKey = session.get('api_key')!;
const apiKey = session.api_key;
const action = formData.get('action_id')?.toString();
if (!action) {
@ -55,7 +55,7 @@ export async function machineAction({
}
if (
node.user.providerId?.split('/').pop() !== session.get('user')!.subject &&
node.user.providerId?.split('/').pop() !== session.user.subject &&
!check
) {
throw data('You do not have permission to act on this machine', {