Статус: Эталонный код программы (Добавлена авторизация Google и Telegram) Remix
Версия программы: 1.0.0
Статус: Эталонный код программы (Добавлена авторизация Google и Telegram)
Точка восстановления: 22.02.2026 - 06:30
Что было сделано:
Полноценный Backend (Node.js + Express): Для безопасной работы авторизации Google (чтобы не "светить" секретные ключи в браузере) я перевел архитектуру приложения на Full-Stack. Теперь приложение работает через собственный сервер server.ts.
Экран входа (Login): Добавлен новый стартовый экран с кнопками авторизации.
Google OAuth: Реализован безопасный поток авторизации через всплывающее окно (popup) с получением данных профиля (имя, аватарка, email).
Telegram Login: Интегрирован официальный виджет авторизации Telegram.
Профиль пользователя: В боковом меню теперь отображается аватарка, имя пользователя и кнопка "Выйти".
⚠️ Важно: Настройка для работы авторизации
Чтобы кнопки входа заработали, вам необходимо настроить провайдеров и добавить переменные окружения в AI Studio.
1. Настройка Google OAuth
Перейдите в Google Cloud Console.
Создайте OAuth 2.0 Client ID (тип приложения: Web application).
Добавьте следующие Authorized redirect URIs (оба URL обязательны):
https://ais-dev-f6dfkwayp7eni6xcjekpqo-113002413*7*.europe-west2.run.app/auth/callback (для режима разработки)
https://ais-pre-f6dfkwayp7eni6xcjekpqo-113002413*7*.europe-west2.run.app/auth/callback (для опубликованной версии)
Добавьте в переменные окружения AI Studio:
GOOGLE_CLIENT_ID = ваш Client ID
GOOGLE_CLIENT_SECRET = ваш Client Secret
2. Настройка Telegram Login
Откройте бота @BotFather в Telegram.
Выберите вашего бота (или создайте нового) и отправьте команду /setdomain.
Укажите домен вашего приложения (без https:// и путей):
ais-dev-f6dfkwayp7eni6xcjekpqo-113002413*7*.europe-west2.run.app
Добавьте в переменные окружения AI Studio:
VITE_TELEGRAM_BOT_NAME = имя вашего бота (например, MyGreetlyBot — без символа @).
Мои предложения по улучшению (на будущее):
База данных: Сейчас пользователи сохраняются в localStorage браузера. Так как у нас теперь есть сервер и авторизация, мы можем подключить настоящую базу данных (например, Firebase или PostgreSQL), чтобы контакты и история открыток синхронизировались между устройствами пользователя.
Защита роутов: Можно добавить проверку токена на сервере, чтобы генерация открыток была доступна только авторизованным пользователям.
Сообщите, если хотите внедрить эти улучшения, и я сделаю новую точку восстановления перед их добавлением!
Комментарии
Отправить комментарий