Главная · Скиллы · firebase-auth-basics

firebase-auth-basicsаутентификация Firebase

firebase/agent-skills

Настройка и реализация Firebase Authentication: вход пользователей, управление аккаунтами, провайдеры OAuth для разных типов приложений.

Установка

npx -y skills add firebase/agent-skills --skill firebase-auth-basics --agent claude-code

Основы Firebase Authentication

Предварительные требования

  • Firebase-проект: создаётся командой npx -y firebase-tools@latest projects:create (см. firebase-basics).
  • Firebase CLI: установлен и выполнен вход (см. firebase-basics).

Основные концепции

Firebase Authentication предоставляет серверные сервисы, удобные SDK и готовые библиотеки UI для аутентификации пользователей в вашем приложении.

Пользователи

Пользователь — это сущность, которая может войти в ваше приложение. Каждый пользователь идентифицируется уникальным идентификатором (uid), гарантированно уникальным среди всех провайдеров. Свойства пользователя:

  • uid — уникальный идентификатор.
  • email — адрес электронной почты (если доступен).
  • displayName — отображаемое имя (если доступно).
  • photoURL — URL фотографии пользователя (если доступен).
  • emailVerified — булево значение, указывающее, подтверждён ли email.

Провайдеры идентификации

Firebase Auth поддерживает несколько способов входа:

  • Email/Password — базовая аутентификация по email и паролю.
  • Федеративные провайдеры: Google, Facebook, Twitter, GitHub, Microsoft, Apple и другие.
  • Номер телефона — аутентификация по SMS.
  • Анонимно — временные гостевые аккаунты, которые впоследствии можно привязать к постоянным.
  • Custom Auth — интеграция с вашей существующей системой аутентификации.

Google Sign In рекомендуется как надёжный и безопасный провайдер по умолчанию.

Токены

При входе пользователь получает ID Token (JWT). Этот токен используется для идентификации при обращении к сервисам Firebase (Realtime Database, Cloud Storage, Firestore) или собственному бэкенду.

  • ID Token — краткосрочный (1 час), подтверждает личность.
  • Refresh Token — долгосрочный, используется для получения новых ID токенов.

Рабочий процесс

1. Настройка провайдеров

Вариант 1: Включение аутентификации через CLI

Через CLI можно включить только Google Sign In, анонимную аутентификацию и email/password. Для остальных провайдеров используйте консоль Firebase.

Настройте Firebase Authentication в firebase.json, добавив блок auth:

{
  "auth": {
    "providers": {
      "anonymous": true,
      "emailPassword": true,
      "googleSignIn": {
        "oAuthBrandDisplayName": "Your Brand Name",
        "supportEmail": "support@example.com",
        "authorizedRedirectUris": ["https://example.com", "http://localhost"]
      }
    }
  }
}

ВАЖНО: После настройки firebase.json необходимо задеплоить конфигурацию аутентификации в бэкенд Firebase, чтобы изменения вступили в силу. Выполните:

npx -y firebase-tools@latest deploy --only auth

Вариант 2: Включение аутентификации в консоли

  1. Перейдите по адресу https://console.firebase.google.com/project/_/authentication/providers.
  2. Выберите ваш проект.
  3. Включите нужные провайдеры входа (например, Email/Password, Google).

2. Настройка клиента

  • Web: см. references/client_sdk_web.md.
  • Flutter: см. references/flutter_setup.md.
  • Android (Kotlin): см. references/client_sdk_android.md.

3. Правила безопасности

Защитите свои данные с помощью request.auth в правилах Firestore/Storage. Подробнее: references/security_rules.md.

Из того же репозитория

firebase-basicsосновы Firebase CLI
firebase/agent-skills
Базовые воркфлоу Firebase CLI для любого проекта. Принудительно использует последние инструменты через npx вместо глобальных устаревших версий.
34871.3k установок
firebase-hosting-basicsхостинг статических сайтов Firebase
firebase/agent-skills
Деплой статических сайтов и SPA на Firebase Hosting: конфигурация firebase.json для редиректов, rewrites и заголовков. Команды деплоя и превью.
34869.1k установок
firebase-app-hosting-basicsFirebase App Hosting для Next.js
firebase/agent-skills
Полный пайплайн деплоя Next.js и Angular на Firebase App Hosting: SSR и ISR. Настройка firebase.json с apphosting блоками и CDN.
34868.8k установок
firebase-data-connectFirebase SQL Connect с PostgreSQL
firebase/agent-skills
Комплексный помощник для Firebase SQL Connect (Data Connect) с PostgreSQL и GraphQL: схема → мутации → запросы → SDK и деплой в продакшен.
32768.4k установок
developing-genkit-jsAI агенты на Genkit JS
firebase/agent-skills
Для Genkit 1.0+ где API полностью изменились и большинство примеров в сети устарели. Принудительно проверяет common-errors.md перед любым кодом.
32762.1k установок
developing-genkit-dartAI агенты Genkit для Flutter
firebase/agent-skills
Genkit Dart SDK для AI-агентов и LLM в Dart/Flutter: плагины Google Gemini и OpenAI, RAG паттерны, структурированные выходные данные и потоковая передача.
32761.9k установок