text-guided-image-colorization / FIREBASE_SETUP.md
LogicGoInfotechSpaces's picture
Update Firebase initialization to auto-detect credentials file and add setup guide
a0088ec
|
raw
history blame
4.93 kB
# Firebase Setup Guide
## Firebase Project Information
**Project ID:** `colorize-662df`
**Credentials File:** `colorize-662df-firebase-adminsdk-fbsvc-bfd21c77c6.json`
## Required Firebase Configuration
### 1. Firebase Admin SDK Credentials ✅
The credentials file is already in the project:
- File: `colorize-662df-firebase-adminsdk-fbsvc-bfd21c77c6.json`
- The application will automatically detect and use this file
### 2. Firebase Web API Key (Required for Login/Register)
To get your Firebase Web API Key:
1. Go to [Firebase Console](https://console.firebase.google.com/)
2. Select your project: **colorize-662df**
3. Click the gear icon ⚙️ → **Project settings**
4. Scroll down to **Your apps** section
5. Find the **Web API Key** (starts with `AIza...`)
6. Copy this key
**Set it as environment variable:**
```bash
export FIREBASE_API_KEY="AIzaSyBIB6rcfyyqy5niERTXWvVD714Ter4Vx68"
```
Or in Hugging Face Spaces:
- Go to Settings → Secrets
- Add secret: `FIREBASE_API_KEY` = `AIzaSyBIB6rcfyyqy5niERTXWvVD714Ter4Vx68`
### 3. Firebase App Check Configuration
For App Check to work, you need:
1. **Enable App Check in Firebase Console:**
- Go to Firebase Console → **App Check**
- Register your app
- Choose **reCAPTCHA Enterprise** provider
- Get your **reCAPTCHA Site Key**
2. **Frontend Setup:**
```javascript
import { initializeApp } from "firebase/app";
import { initializeAppCheck, ReCaptchaEnterpriseProvider, getToken } from "firebase/app-check";
const firebaseConfig = {
apiKey: "AIzaSyBIB6rcfyyqy5niERTXWvVD714Ter4Vx68",
authDomain: "colorize-662df.firebaseapp.com",
projectId: "colorize-662df",
storageBucket: "colorize-662df.firebasestorage.app",
messagingSenderId: "69166278311",
appId: "1:69166278311:web:0e8c50b8dd8627aaeadd82",
measurementId: "G-58CC2J8XKX"
};
const app = initializeApp(firebaseConfig);
const appCheck = initializeAppCheck(app, {
provider: new ReCaptchaEnterpriseProvider('YOUR_RECAPTCHA_SITE_KEY'),
isTokenAutoRefreshEnabled: true
});
// Get token for API requests
const token = await getToken(appCheck);
```
## Environment Variables
### For Local Development:
```bash
# Firebase credentials (optional if file is in project root)
export FIREBASE_CREDENTIALS_PATH="./colorize-662df-firebase-adminsdk-fbsvc-bfd21c77c6.json"
# Firebase Web API Key (required for /auth/login and /auth/register)
export FIREBASE_API_KEY="AIzaSyBIB6rcfyyqy5niERTXWvVD714Ter4Vx68"
# Optional: Disable auth for testing
export DISABLE_AUTH="false"
# Optional: Disable App Check
export ENABLE_APP_CHECK="true"
```
### For Hugging Face Spaces:
Add these as **Secrets** in Space Settings:
1. **FIREBASE_CREDENTIALS** - Paste the entire contents of `colorize-662df-firebase-adminsdk-fbsvc-bfd21c77c6.json`
2. **FIREBASE_API_KEY** - Your Web API Key (`AIzaSyBIB6rcfyyqy5niERTXWvVD714Ter4Vx68`)
3. **HF_TOKEN** - Your Hugging Face token (for Inference API)
## Testing Firebase Connection
### Test 1: Health Check (No Auth Required)
```bash
curl https://logicgoinfotechspaces-text-guided-image-colorization.hf.space/health
```
### Test 2: Register User (Requires FIREBASE_API_KEY)
```bash
curl -X POST https://logicgoinfotechspaces-text-guided-image-colorization.hf.space/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "test@example.com",
"password": "password123",
"display_name": "Test User"
}'
```
### Test 3: Login (Requires FIREBASE_API_KEY)
```bash
curl -X POST https://logicgoinfotechspaces-text-guided-image-colorization.hf.space/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "test@example.com",
"password": "password123"
}'
```
### Test 4: Colorize with App Check Token
```bash
curl -X POST https://logicgoinfotechspaces-text-guided-image-colorization.hf.space/colorize \
-H "X-Firebase-AppCheck: YOUR_APP_CHECK_TOKEN" \
-F "file=@image.jpg"
```
## Troubleshooting
### Issue: "Firebase not initialized"
**Solution:** Make sure the credentials file exists and is readable
### Issue: "Firebase API key not configured" (for login/register)
**Solution:** Set `FIREBASE_API_KEY` environment variable
### Issue: "Invalid App Check token"
**Solution:**
1. Make sure App Check is enabled in Firebase Console
2. Verify you're sending the token in `X-Firebase-AppCheck` header
3. Check that reCAPTCHA Enterprise is properly configured
### Issue: "Missing App Check token"
**Solution:**
- Either provide `X-Firebase-AppCheck` header
- Or set `ENABLE_APP_CHECK=false` to disable (not recommended for production)
## Current Firebase Config
Based on your credentials file:
- **Project ID:** `colorize-662df`
- **Service Account:** `firebase-adminsdk-fbsvc@colorize-662df.iam.gserviceaccount.com`
- **Auth Domain:** `colorize-662df.firebaseapp.com`
- **Storage Bucket:** `colorize-662df.firebasestorage.app`