mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-12 08:45:38 +02:00
This adds a simple way to incorporate a centralized authentication flow. The idea is to have the user, API and SSH (for machine authentication) all in one place using `openauthjs` + `SST` We also have a database now :) > We are using InstantDB as it allows us to authenticate a use with just the email. Plus it is super simple simple to use _of course after the initial fumbles trying to design the db and relationships_
17 lines
398 B
TypeScript
17 lines
398 B
TypeScript
import { AsyncLocalStorage } from "node:async_hooks";
|
|
|
|
export function createContext<T>() {
|
|
const storage = new AsyncLocalStorage<T>();
|
|
return {
|
|
use() {
|
|
const result = storage.getStore();
|
|
if (!result) {
|
|
throw new Error("No context available");
|
|
}
|
|
return result;
|
|
},
|
|
with<R>(value: T, fn: () => R) {
|
|
return storage.run<R>(value, fn);
|
|
},
|
|
};
|
|
} |