Статус: Эталонный код программы (Добавлена авторизация Google и Telegram) Remix

 

  • Версия программы: 1.0.0

  • Статус: Эталонный код программы (Добавлена авторизация Google и Telegram)

  • Точка восстановления: 22.02.2026 - 06:30

Что было сделано:

  1. Полноценный Backend (Node.js + Express): Для безопасной работы авторизации Google (чтобы не "светить" секретные ключи в браузере) я перевел архитектуру приложения на Full-Stack. Теперь приложение работает через собственный сервер server.ts.

  2. Экран входа (Login): Добавлен новый стартовый экран с кнопками авторизации.

  3. Google OAuth: Реализован безопасный поток авторизации через всплывающее окно (popup) с получением данных профиля (имя, аватарка, email).

  4. Telegram Login: Интегрирован официальный виджет авторизации Telegram.

  5. Профиль пользователя: В боковом меню теперь отображается аватарка, имя пользователя и кнопка "Выйти".


⚠️ Важно: Настройка для работы авторизации

Чтобы кнопки входа заработали, вам необходимо настроить провайдеров и добавить переменные окружения в AI Studio.

1. Настройка Google OAuth

  1. Перейдите в Google Cloud Console.

  2. Создайте OAuth 2.0 Client ID (тип приложения: Web application).

  3. Добавьте следующие 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 (для опубликованной версии)

  4. Добавьте в переменные окружения AI Studio:

    • GOOGLE_CLIENT_ID = ваш Client ID

    • GOOGLE_CLIENT_SECRET = ваш Client Secret

2. Настройка Telegram Login

  1. Откройте бота @BotFather в Telegram.

  2. Выберите вашего бота (или создайте нового) и отправьте команду /setdomain.

  3. Укажите домен вашего приложения (без https:// и путей):

    • ais-dev-f6dfkwayp7eni6xcjekpqo-113002413*7*.europe-west2.run.app

  4. Добавьте в переменные окружения AI Studio:

    • VITE_TELEGRAM_BOT_NAME = имя вашего бота (например, MyGreetlyBot — без символа @).


Мои предложения по улучшению (на будущее):

  • База данных: Сейчас пользователи сохраняются в localStorage браузера. Так как у нас теперь есть сервер и авторизация, мы можем подключить настоящую базу данных (например, Firebase или PostgreSQL), чтобы контакты и история открыток синхронизировались между устройствами пользователя.

  • Защита роутов: Можно добавить проверку токена на сервере, чтобы генерация открыток была доступна только авторизованным пользователям.

Сообщите, если хотите внедрить эти улучшения, и я сделаю новую точку восстановления перед их добавлением!

Комментарии

Популярные сообщения из этого блога

Технический Аудит: Aegis-Stream Control Panel (v1.3.36).