Mastra Firebase Auth integration
npm install @mastra/auth-firebaseA Firebase authentication integration package for Mastra applications. This package provides seamless integration with Firebase Authentication and Firestore for user authentication and authorization.
``bash`
npm install @mastra/auth-firebaseor
yarn add @mastra/auth-firebaseor
pnpm add @mastra/auth-firebase
- Firebase Authentication integration
- Firestore-based user authorization
- Support for service account credentials
- Automatic token verification
- User access control through Firestore
`typescript
import { Mastra } from '@mastra/core/mastra';
import { MastraAuthFirebase } from '@mastra/auth-firebase';
// Initialize with default configuration
const firebaseAuth = new MastraAuthFirebase();
// Or with custom options
const firebaseAuth = new MastraAuthFirebase({
serviceAccount: 'path/to/service-account.json',
databaseId: 'your-database-id',
});
// Enable auth in Mastra
const mastra = new Mastra({
...
server: {
auth: firebaseAuth,
},
});
`
The package can be configured through constructor options or environment variables:
- serviceAccount: Path to Firebase service account JSON filedatabaseId
- : Firestore database ID
- FIREBASE_SERVICE_ACCOUNT: Path to Firebase service account JSON fileFIRESTORE_DATABASE_ID
- or FIREBASE_DATABASE_ID: Firestore database ID
The package uses Firestore to manage user access. It expects a collection named user_access` with documents keyed by user UIDs. The presence of a document in this collection determines whether a user is authorized.