firebase-edge-auth
Version:
Firebase token decoder for edge runtimes
65 lines (45 loc) • 1.39 kB
Markdown
# Firebase Edge Auth
Firebase token decoder for edge runtimes, written in TypeScript.
## Installation
```bash
npm install firebase-edge-auth
```
## Usage
```typescript
import { decodeFirebaseToken, FirebaseTokenError } from "firebase-edge-auth";
const projectId = "your-firebase-project-id";
const token = "user-provided-token";
try {
const decodedToken = await decodeFirebaseToken(token, projectId);
console.log("Decoded token:", decodedToken);
} catch (error) {
if (error instanceof FirebaseTokenError) {
console.error("Token verification failed:", error.message);
} else {
console.error("Unexpected error:", error);
}
}
```
## API
### `decodeFirebaseToken(token: string, projectId: string): Promise<FirebaseTokenPayload>`
Decodes and verifies a Firebase JWT token.
- `token`: The Firebase JWT token to decode.
- `projectId`: Your Firebase project ID.
Returns a Promise that resolves to the decoded token payload if verification succeeds, or rejects with a `FirebaseTokenError` if verification fails.
### `FirebaseTokenPayload`
An interface representing the decoded token payload:
```typescript
interface FirebaseTokenPayload {
aud: string;
iss: string;
sub: string;
auth_time: number;
exp: number;
iat: number;
[key: string]: any;
}
```
### `FirebaseTokenError`
A custom error class for Firebase token verification failures.
## License
MIT