Claude Code Plugins

Community-maintained marketplace

Feedback

moai-platform-firebase-auth

@modu-ai/cc-plugins
11
0

Firebase Authentication specialist covering Google ecosystem, social auth, phone auth, and mobile-first patterns. Use when building Firebase-backed or Google ecosystem apps, implementing social login, or adding phone verification.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name moai-platform-firebase-auth
description Firebase Authentication specialist covering Google ecosystem, social auth, phone auth, and mobile-first patterns. Use when building Firebase-backed or Google ecosystem apps, implementing social login, or adding phone verification.
version 2.0.0
category platform
modularized true
tags firebase, google, social-auth, mobile, authentication
updated Sun Dec 07 2025 00:00:00 GMT+0000 (Coordinated Universal Time)
status active
context7-libraries /firebase/firebase-docs
related-skills moai-platform-firestore, moai-lang-flutter, moai-lang-typescript
allowed-tools Read, Write, Bash, Grep, Glob, mcp__context7__resolve-library-id, mcp__context7__get-library-docs

Firebase Authentication Specialist

Comprehensive Firebase Authentication implementation covering Google ecosystem integration, social authentication providers, phone authentication, anonymous auth, custom claims, and Security Rules integration.


Quick Reference

Firebase Auth Core Features:

  • Google Sign-In: Native Google ecosystem integration with Cloud Identity
  • Social Auth: Facebook, Twitter/X, GitHub, Apple, Microsoft, Yahoo
  • Phone Auth: SMS-based verification with international support
  • Anonymous Auth: Guest access with account linking upgrade path
  • Custom Claims: Role-based access and admin privileges
  • Security Rules: Firestore, Storage, and Realtime Database integration

Context7 Documentation Access:

  • Use resolve-library-id with "firebase" to get Context7 library ID
  • Use get-library-docs with resolved ID and topic "authentication" for latest API

Platform SDK Support:

  • Web: firebase/auth with modular SDK (v9+)
  • iOS: FirebaseAuth with Swift and SwiftUI
  • Android: firebase-auth with Kotlin
  • Flutter: firebase_auth package
  • React Native: @react-native-firebase/auth

Quick Decision Tree:

  • Need Google ecosystem integration? Use Firebase Auth
  • Building mobile-first application? Use Firebase Auth
  • Need serverless Cloud Functions? Use Firebase Auth
  • Need anonymous guest access? Use Firebase Auth
  • Existing Firebase infrastructure? Use Firebase Auth

Module Index

This skill uses progressive disclosure with specialized modules for detailed implementation guidance.

Social Authentication

File: modules/social-auth.md

Covers Google Sign-In, Facebook Login, Apple Sign-In, Twitter/X, GitHub, and Microsoft authentication. Includes web, Flutter, iOS, and Android implementations with configuration requirements and error handling.

Key Topics:

  • Google Sign-In with OAuth scopes and custom parameters
  • Facebook Login with Graph API access
  • Apple Sign-In (required for iOS apps with third-party login)
  • Account linking between providers
  • Error handling for popup and redirect flows

Phone Authentication

File: modules/phone-auth.md

Covers SMS-based phone number authentication with international support, reCAPTCHA verification, and platform-specific implementations.

Key Topics:

  • Web implementation with RecaptchaVerifier
  • Flutter verifyPhoneNumber flow with auto-verification
  • iOS and Android native implementations
  • E.164 phone number formatting
  • Error handling and rate limiting

Custom Claims and Role Management

File: modules/custom-claims.md

Covers custom claims, role-based access control (RBAC), and admin privileges with Security Rules integration.

Key Topics:

  • Setting claims with Admin SDK (Node.js, Python, Go)
  • Cloud Functions for claim management
  • Reading claims on client (Web, Flutter, iOS)
  • Security Rules integration for Firestore and Storage
  • Token refresh strategies

Implementation Guide

Firebase Project Setup

Step 1: Create Firebase project at console.firebase.google.com Step 2: Add your app (Web, iOS, Android, or Flutter) Step 3: Enable desired authentication providers Step 4: Download and configure SDK credentials

Web SDK Initialization

import { initializeApp } from 'firebase/app';
import { getAuth, onAuthStateChanged } from 'firebase/auth';

const firebaseConfig = {
  apiKey: "your-api-key",
  authDomain: "your-project.firebaseapp.com",
  projectId: "your-project-id"
};

const app = initializeApp(firebaseConfig);
const auth = getAuth(app);

onAuthStateChanged(auth, (user) => {
  if (user) {
    console.log('Signed in:', user.uid);
  } else {
    console.log('Signed out');
  }
});

Flutter SDK Initialization

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_auth/firebase_auth.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

// Auth state listener
FirebaseAuth.instance.authStateChanges().listen((User? user) {
  if (user != null) {
    print('Signed in: ${user.uid}');
  }
});

Anonymous Authentication

import { signInAnonymously, linkWithCredential, EmailAuthProvider } from 'firebase/auth';

// Sign in anonymously
const result = await signInAnonymously(auth);
console.log('Anonymous UID:', result.user.uid);

// Upgrade to permanent account
const credential = EmailAuthProvider.credential(email, password);
await linkWithCredential(auth.currentUser, credential);

Session Persistence

import { setPersistence, browserLocalPersistence, browserSessionPersistence } from 'firebase/auth';

// Persist across browser sessions (default)
await setPersistence(auth, browserLocalPersistence);

// Clear on tab close
await setPersistence(auth, browserSessionPersistence);

Security Rules Integration

Firestore Rules

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
    match /admin/{document=**} {
      allow read, write: if request.auth.token.admin == true;
    }
  }
}

Storage Rules

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /users/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}

Advanced Patterns

For advanced implementation patterns, see:

  • reference.md: MFA, session cookies, Cloud Functions triggers, Admin SDK setup
  • examples.md: Complete authentication services, React hooks, Flutter providers

Resources

Extended Documentation:

  • reference.md: Advanced patterns and configuration guides
  • examples.md: Working code examples across platforms

Module Files:

  • modules/social-auth.md: Social identity providers
  • modules/phone-auth.md: Phone number authentication
  • modules/custom-claims.md: Role-based access control

Firebase Official Resources:

  • Firebase Console: console.firebase.google.com
  • Authentication Documentation: firebase.google.com/docs/auth
  • Security Rules Reference: firebase.google.com/docs/rules

Works Well With:

  • moai-platform-firestore: Firestore database with auth-based security
  • moai-lang-flutter: Flutter SDK for mobile Firebase Auth
  • moai-lang-typescript: TypeScript patterns for Firebase SDK
  • moai-domain-backend: Backend architecture with Firebase Admin SDK

Status: Production Ready Version: 2.0.0 (Modular Architecture) Last Updated: 2025-12-07 Provider Coverage: Firebase Authentication Only