• Secret Vault
  • Хранение токенов
  • Сторонние сервисы
  • Google

Безопасный доступ к Google API с помощью авторизации OAuth и хранения токенов

Узнайте, как создавать умные приложения для продуктивности (например, AI-агента), которые интегрируются с Google API с использованием Logto Secret Vault для безопасного доступа, хранения refresh токенов, поэтапной авторизации и бесшовной интеграции по OIDC/OAuth 2.0.

Ran
Ran
Product & Design

Хватит тратить недели на аутентификацию пользователей
Запускайте безопасные приложения быстрее с Logto. Интегрируйте аутентификацию пользователей за считанные минуты и сосредоточьтесь на вашем основном продукте.
Начать
Product screenshot

В современном взаимосвязанном цифровом пространстве приложения, способные легко интегрироваться со сторонними сервисами, обеспечивают исключительный пользовательский опыт. Независимо от того, разрабатываете ли вы пакет для продуктивности, AI-агента или платформу для совместной работы с документами, возможность безопасно получать доступ к API таких сервисов, как Google, GitHub, Facebook или любые другие, может сделать ваше приложение незаменимым.

Сегодня мы рассмотрим, как возможности Secret Vault и Social Connector в Logto позволяют создать умное приложение для продуктивности с интеграцией Google API. Мы продемонстрируем безопасное хранение токенов, получение access-токенов для AI-доступа, поэтапную авторизацию и бесшовную интеграцию со сторонними сервисами.

Задача: создание умного календарного помощника

Представьте, что вы разрабатываете “Умного Календарного Помощника” — приложение, помогающее пользователям разумно управлять своим расписанием. Вот что должно уметь ваше приложение:

  1. Базовая аутентификация: пользователи входят в приложение с помощью Google-аккаунта.
  2. Управление профилем: отображение базовой информации профиля пользователя.
  3. Интеграция календаря: чтение событий календаря для предоставления аналитики расписания.
  4. Продвинутые функции: создание событий календаря, отправка приглашений на встречи через Gmail и управление документами в Google Drive, но только по явному запросу пользователя к этим премиальным функциям.

В чем сложность? Нужно разные уровни доступа к Google API в зависимости от ситуации, а хранить токены необходимо безопасно, чтобы не запрашивать повторную аутентификацию пользователей для каждого действия.

Решение: Поэтапная авторизация Logto с Secret Vault

Подход Logto элегантно решает данную задачу за счет:

  • Минимальных начальных разрешений (scopes): запрашиваются только необходимые разрешения при входе.
  • Поэтапной (инкрементальной) авторизации: дополнительные разрешения запрашиваются по мере необходимости для премиум функций.
  • Безопасного хранения токенов: access/refresh токены хранятся и управляются в зашифрованном Secret Vault.
  • Автоматического обновления токенов: истечение срока действия токена обрабатывается прозрачно для пользователя.

Давайте пройдемся по реализации.

Шаг 1: Настройка Google-коннектора с базовыми разрешениями

Сначала создайте и настройте ваш Google-коннектор в Logto Console. На начальном этапе указывайте минимальные разрешения для базовой аутентификации:

Посмотрите Google API Library и документацию по OAuth 2.0 scopes, чтобы подобрать разрешения для своих задач.

Основные шаги настройки:

  1. Создайте OAuth-клиент в Google Cloud Console. Отметьте все необходимые вашему приложению разрешения.
  2. Настройте Google-коннектор Logto с вашими клиентскими данными. В поле Scopes добавьте перечисленные выше минимальные разрешения.
  3. Включите Store tokens for persistent API access (Хранить токены для постоянного доступа к API) в настройках коннектора.
  4. В списке Prompts укажите consent, также включите Offline Access для получения refresh токена.

Подробнее читайте в документации Logto по настройке Google-коннектора.

Теперь пользователи могут входить в приложение и давать разрешение на чтение своих событий календаря — этого достаточно для предоставления базовой аналитики расписания.

Шаг 2: Реализация процесса входа

Перейдите по ссылке Logto > Sign-in experience > Sign-up and sign-in. Добавьте Google-коннектор в разделе Social sign-in, чтобы пользователи могли аутентифицироваться через Google.

Когда пользователь входит через Google, Logto автоматически:

  • Аутентифицирует пользователя с учётом заданных разрешений.
  • Безопасно сохраняет access- и refresh-токены в Secret Vault.
  • Возвращает вашему приложению информацию о профиле пользователя.

Теперь токены безопасно хранятся и привязаны к Google-идентификатору пользователя, готовы для обращения к API.

Шаг 3: Доступ к Google API с использованием сохранённых токенов

Чтобы прочитать события календаря пользователя, получите сохранённый access-токен и вызовите Google Calendar API:

Logto автоматически обновляет токен: если срок действия access-токена истёк, но есть refresh token, Logto прозрачно получает новый access-токен.

Шаг 4: Поэтапная авторизация для премиум-функций

Если пользователь хочет воспользоваться расширенными функциями (например, создать событие или отправить письмо через Gmail), используйте Social Verification API Logto для запроса дополнительных разрешений:

После предоставления пользователем дополнительных разрешений завершите процесс верификации и обновите токены в системе:

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

Шаг 5: Контроль над токенами

В Logto Console доступны расширенные возможности управления токенами. Перейдите в раздел User Management > выберите пользователя > Social Connections, чтобы посмотреть:

  • Статус токена: Active, Expired, Inactive, или Not Applicable
  • Метаданные токена: время создания, последнее обновление, срок действия и список scopes
  • Управление подключениями: просмотр информации профиля, синхронизированной из Google

Такая прозрачность помогает администраторам понимать состояние подключений и быстро решать любые проблемы с токенами.

Не только Google: комплексная интеграция сторонних сервисов

Вы можете расширить функциональность вашего умного помощника и интегрировать его с другими популярными сервисами. Среди часто используемых коннекторов: Google для аутентификации, календаря и Gmail; GitHub для работы с репозиториями кода и задачами; Facebook для поддержки социальных и маркетинговых функций. В ближайшее время появятся новые встроенные коннекторы с поддержкой хранения токенов.

Для кастомных интеграций Logto предлагает гибкие возможности подключения через стандартные протоколы OIDC или OAuth 2.0. Такая экосистема позволяет подключаться практически к любому стороннему сервису, используемому вашей организацией.

Безопасность и лучшие практики

В Secret Vault Logto используется корпоративный уровень безопасности:

  • Шифрование каждого секрета отдельно: для каждого набора токенов используется отдельный Kлюч данных (DEK)
  • Key wrapping: DEK зашифрован с помощью главного ключа шифрования (KEK)
  • Минимальное раскрытие: токены расшифровываются только для выполнения нужных API-запросов
  • Автоматическая очистка: токены удаляются при отключении учётной записи пользователя или коннектора

Заключение

Logto — это удобная платформа аутентификации для разработчиков, обеспечивающая безопасность и комплексную интеграцию со сторонними сервисами.

Благодаря поэтапной авторизации Logto и надёжному хранению токенов ваш умный Календарный Помощник обеспечивает бесшовный пользовательский опыт, сочетая функциональность с безопасностью. Пользователи проходят быструю регистрацию через SSO, давая минимальные разрешения для основных функций. По мере освоения расширенных возможностей им предлагается удобно и уместно открыть доступ к премиальным функциям.

Постоянный доступ к API за счёт надёжно сохранённых токенов позволяет не отвлекать пользователя лишними запросами на повторную аутентификацию, обеспечивая профессиональный и плавный опыт работы. Вся система изначально построена с учётом безопасности, применяет корпоративные методы шифрования для защиты учётных данных и поддерживает доверие пользователей.

Готовы к собственной интеграции со сторонними API? Начните так:

  1. Настройте Logto: создайте свой Logto-tenant и сконфигурируйте первый social-коннектор
  2. Включите хранение токенов: активируйте “Store tokens for persistent API access” в настройках коннектора
  3. Реализуйте инкрементальную авторизацию: используйте Social Verification API для запросов scopes по требованию
  4. Развивайте проект: подключайте других провайдеров, используя всю экосистему коннекторов Logto

Будущее разработки приложений — за бесшовной интеграцией сервисов. С Logto Secret Vault и Connectors вы сможете создавать приложения, которые не просто функциональны, но и по-настоящему интегрированы с сервисами, нужными вашим пользователям каждый день.

Хотите узнать больше? Ознакомьтесь с нашими инструкциями по интеграции и начните делать своё next-generation приложение уже сегодня.