Настройка и реализация Firebase Authentication: вход пользователей, управление аккаунтами, провайдеры OAuth для разных типов приложений.
npx -y skills add firebase/agent-skills --skill firebase-auth-basics --agent claude-codenpx -y firebase-tools@latest projects:create (см. firebase-basics).firebase-basics).Firebase Authentication предоставляет серверные сервисы, удобные SDK и готовые библиотеки UI для аутентификации пользователей в вашем приложении.
Пользователь — это сущность, которая может войти в ваше приложение. Каждый пользователь идентифицируется уникальным идентификатором (uid), гарантированно уникальным среди всех провайдеров. Свойства пользователя:
uid — уникальный идентификатор.email — адрес электронной почты (если доступен).displayName — отображаемое имя (если доступно).photoURL — URL фотографии пользователя (если доступен).emailVerified — булево значение, указывающее, подтверждён ли email.Firebase Auth поддерживает несколько способов входа:
Google Sign In рекомендуется как надёжный и безопасный провайдер по умолчанию.
При входе пользователь получает ID Token (JWT). Этот токен используется для идентификации при обращении к сервисам Firebase (Realtime Database, Cloud Storage, Firestore) или собственному бэкенду.
Через 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
https://console.firebase.google.com/project/_/authentication/providers.references/client_sdk_web.md.references/flutter_setup.md.references/client_sdk_android.md.Защитите свои данные с помощью request.auth в правилах Firestore/Storage. Подробнее: references/security_rules.md.