Открытый стандарт безопасной авторизации, позволяющий сторонним приложениям получать доступ к данным без передачи пароля.
Определение
OAuth (Open Authorization) — это открытый стандартный протокол, позволяющий сторонним приложениям получать доступ к данным пользователя на другом сервисе, не требуя от пользователя передачи пароля. Вместо прямого обмена учётными данными пользователь аутентифицируется в исходном сервисе (например, Google или Stripe) и предоставляет запрашивающему приложению ограниченный токен доступа. Этот токен точно определяет, что может делать приложение — читать конкретную таблицу, записывать в определённую папку, обрабатывать платежи — и пользователь может отозвать его в любой момент. OAuth 2.0 — это текущая версия, используемая практически всеми крупными веб-сервисами, и именно она лежит в основе потоков «Войти через Google» и «Подключить аккаунт», ставших стандартом в интернете.
Почему это важно
Без OAuth подключение двух сервисов потребовало бы передачи ваших учётных данных стороннему приложению — серьёзный риск безопасности, предоставляющий этому приложению полный неограниченный доступ к вашему аккаунту. OAuth решает эту проблему, создавая контролируемую модель делегирования. Стороннее приложение получает только те конкретные разрешения, которые ему необходимы, и только на то время, пока вы это разрешаете. Если приложение будет скомпрометировано, злоумышленники получат ограниченный токен, а не ваш пароль. Для цифровых издателей, использующих множество инструментов — аналитические платформы, сервисы email-маркетинга, платёжные процессоры, интеграции с таблицами — OAuth обеспечивает безопасность и управляемость этих подключений без создания сети общих паролей.
Как это работает в FlipLink
FlipLink использует авторизацию на основе OAuth при подключении к сторонним сервисам через функцию [автоматизации и интеграций](/features/automation-and-integrations). Когда вы настраиваете [интеграцию с Google Sheets](/integrations/google-sheets), вас перенаправляют на экран согласия Google, где вы разрешаете FlipLink записывать данные лидов в определённую таблицу. FlipLink получает токен доступа с ограниченной областью действия — он может писать в эту таблицу, но не может читать вашу почту, получать доступ к файлам Drive или выполнять какие-либо действия за пределами выданного разрешения. [Интеграция со Stripe](/integrations/stripe) работает аналогично: вы авторизуете FlipLink обрабатывать платежи от вашего имени через OAuth-поток Stripe, и FlipLink никогда не хранит и не видит ваш пароль Stripe. Все токены хранятся безопасно и могут быть отозваны как из панели FlipLink, так и из настроек стороннего сервиса.
Технические детали
OAuth 2.0 определяет несколько типов предоставления доступа (grant types), каждый из которых подходит для определённого сценария интеграции:
- **Authorization Code Grant**: Наиболее распространённый поток для серверных приложений. Пользователь перенаправляется на сервер авторизации (например, Google), даёт разрешение и получает код авторизации, который приложение обменивает на токен доступа. Это поток, который FlipLink использует для интеграций с Google Sheets и Stripe.
- **Client Credentials Grant**: Используется для межсерверной коммуникации, где не требуется взаимодействие пользователя. Приложение аутентифицируется непосредственно своими собственными учётными данными.
- **Refresh-токены**: Токены доступа намеренно имеют короткий срок жизни (обычно 1 час). Refresh-токен позволяет приложению запрашивать новый токен доступа без повторной авторизации пользователя. Вот почему ваши интеграции FlipLink продолжают работать без необходимости повторного подключения каждый день.
Каждый токен несёт определённую область действия (scope) — набор разрешений, ограничивающий действия приложения. Токен с областью «spreadsheets.write» не может читать почту или получать доступ к файлам за пределами авторизованной таблицы. Этот принцип минимальных привилегий — ключевой элемент модели безопасности OAuth.
Аспекты безопасности
OAuth безопасен по своей архитектуре, но его безопасность зависит от правильной реализации всеми участниками:
- **Хранение токенов**: Токены доступа и refresh-токены должны храниться безопасно на стороне сервера и никогда не выставляться в клиентском коде или URL-адресах. FlipLink хранит все токены интеграций в зашифрованном виде на своих серверах.
- **Ограничение области**: Приложения должны запрашивать только минимально необходимые разрешения. FlipLink запрашивает доступ на запись к конкретной таблице, а не широкий доступ ко всему аккаунту Google.
- **Отзыв токенов**: Пользователи должны периодически проверять, какие приложения имеют доступ к их аккаунтам. И Google, и Stripe предоставляют панели управления, где можно просматривать и отзывать авторизованные приложения.
- **Требование [HTTPS](/glossary/https)**: Все потоки OAuth должны осуществляться по HTTPS для предотвращения перехвата токенов в процессе авторизации. FlipLink обеспечивает использование HTTPS для всех API-коммуникаций и обратных вызовов интеграций.
- **Риск фишинга**: Злоумышленники иногда создают поддельные экраны авторизации, имитирующие легитимные сервисы. Всегда проверяйте, что вы находитесь на реальном домене сервиса (accounts.google.com, а не goog1e-auth.com), прежде чем предоставлять разрешения.
Часто задаваемые вопросы
**Что произойдёт, если я отзову OAuth-токен?**
Интеграция немедленно перестанет работать. Например, если вы отзовёте доступ FlipLink к вашим Google Sheets в настройках аккаунта Google, новые лиды больше не будут синхронизироваться с таблицей. Вы можете переподключиться в любое время, повторно авторизовав через панель FlipLink.
**Сохраняет ли FlipLink мой пароль Google или Stripe?**
Нет. OAuth специально разработан для предотвращения обмена паролями. FlipLink получает только токен доступа с ограниченными разрешениями. Ваши пароли остаются исключительно у Google и Stripe.
**Могу ли я ограничить доступ FlipLink к моему аккаунту Google?**
Да. Во время потока авторизации OAuth экран согласия точно показывает, какие разрешения запрашивает FlipLink. FlipLink запрашивает только минимально необходимую область — обычно доступ на запись к одной таблице. Он не может получить доступ к вашей почте, календарю или другим сервисам Google.