Nuxt module for BEdita API.
- Nuxt 3 ready
- Easy integration with BEdita API
- expose API for login, logout, signup
- Auto import composables
useBeditaAuth
,useBeditaSignup
,useBeditaRecaptcha
(only v3 version is supported) - Auto import server utils
- Add
@atlasconsulting/nuxt-bedita
dependency to your project
# Using pnpm
pnpm add -D @atlasconsulting/nuxt-bedita
# Using yarn
yarn add --dev @atlasconsulting/nuxt-bedita
# Using npm
npm install --save-dev @atlasconsulting/nuxt-bedita
- Add
@atlasconsulting/nuxt-bedita
to themodules
section ofnuxt.config.ts
.
export default defineNuxtConfig({
modules: [
'@atlasconsulting/nuxt-bedita'
],
bedita: {
apiBaseUrl: 'https://api-bedita.mydomain.com', // required
apiKey: '<bedita-api-key>', // required
auth: { // optional
global: true, // install beditaAuth as global middleware or not
required: false, // require user authenticated for every routes
publicRoutes: [], // public routes, no authentication is required
unauthenticatedRedirect: '/sign-in', // unauthenticated redirect route
rolesGuard: {}, // roles guard (based on BEdita user's roles)
},
endpoints: ['auth', 'signup'], // API endpoints added to app
proxyEndpoints: [], // endpoints proxied to BEdita API as is (by default all GET requests are proxied)
recaptcha: {
enabled: true, // default true
siteKey: '<recaptcha-site-key>', // required if recaptcha is enabled
secretKey: '<recaptcha-secret-key>', // required if recaptcha is enabled
hideBadge: false, // default false, hide Recaptcha badge (https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed)
useRecaptchaNet: true, // default true, allow to use the domain `recaptcha.net` instead of `google.com`
},
replaceTranslations: true, // replace main objects languages using `lang` query string
resetPasswordPath: '/reset-password', // route path to page used for password reset. Sent via email to user in the forgotten password flow.
session: {
name: 'bedita', // session cookie name
secret: '<session-secret>', // required private key used to encrypt session
},
}
})
See documentation for more details.
That's it! You can now use BEdita Nuxt module in your Nuxt app ✨
See documentation.
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev
# Build the playground
npm run dev:build
# Run ESLint
npm run lint
# Run Vitest
npm run test
npm run test:watch
# Release new version
npm run release