Nuxflare Auth est un serveur d'authentification moderne, léger et auto-hébergé conçu pour faciliter l'ajout d'authentification à vos applications. Construit avec Nuxt 3, Cloudflare Workers et OpenAuth.js, il regroupe tout ce dont vous avez besoin en un seul endroit.
Un serveur d'authentification moderne, léger et auto-hébergé, construit avec Cloudflare, Nuxt et OpenAuth.js.
Nuxflare Auth vous permet d'ajouter une authentification à vos applications sans prise de tête. C'est un monorepo qui regroupe tout ce dont vous avez besoin :
packages/ ├── auth-frontend/ # auth UI components ├── emails/ # react email templates ├── example-client/ # example nuxt client └── functions/ # cloudflare workers
Avant de commencer, vous aurez besoin de :
Avec Nuxt, il existe déjà de bons modules d'authentification comme nuxt-auth-utils et sidebase-auth.
Alors, en quoi Nuxflare Auth est-il différent ?
packages/ ├── auth-frontend/ # auth UI components ├── emails/ # react email templates ├── example-client/ # example nuxt client └── functions/ # cloudflare workers
packages/ ├── auth-frontend/ # auth UI components ├── emails/ # react email templates ├── example-client/ # example nuxt client └── functions/ # cloudflare workers
a. Créez un jeton API Cloudflare avec les autorisations requises en utilisant ce lien.
b. Définissez la variable d'environnement CLOUDFLARE_API_TOKEN :
git clone https://github.com/nuxflare/auth nuxflare-auth cd nuxflare-auth pnpm install
export CLOUDFLARE_API_TOKEN=GahXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# OAuth stuff pnpm sst secret set GoogleClientID your_client_id pnpm sst secret set GoogleClientSecret your_client_secret pnpm sst secret set GithubClientID your_client_id pnpm sst secret set GithubClientSecret your_client_secret # For emails pnpm sst secret set ResendApiKey your_resend_api_key
async run() { const fromEmail = "hi@nuxflare.com"; // ... }
pnpm dev
Le référentiel comprend un exemple d'application client simple dans packages/example-client.
L'API pour les composables est très similaire à nuxt-auth-utils :
pnpm sst deploy --stage production
Vous devez pointer le client vers le point de terminaison de votre instance d'authentification déployée :
```typescript [packages/example-client/app/utils/auth.ts]
const client = créerClient({
ID client : "nuxt",
émetteur : "https://authdemo.nuxflare.com", // <-- remplacez-le par votre point de terminaison
});
export const useSession = () => { const sessionState = useSessionState(); const accessToken = useAccessTokenCookie(); const refreshToken = useRefreshTokenCookie(); const clear = () => { sessionState.value = {}; accessToken.value = null; refreshToken.value = null; }; return { loggedIn: computed(() => !!sessionState.value.user), user: computed(() => sessionState.value.user || null), session: sessionState, clear, }; };Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!