OAuth2
OAuth2 позволяет разработчикам создавать приложения, использующие аутентификацию и данные из Voice API. В Voice существует несколько типов аутентификации OAuth2. Мы поддерживаем авторизацию с помощью кода, неявную авторизацию, авторизацию с помощью учетных данных клиента и некоторые модифицированные специальные потоки для ботов и вебхуков.
Общие ресурсы
Первый шаг в реализации OAuth2 — регистрация приложения для разработчиков и получение идентификатора и секрета клиента.
Большинство разработчиков, которые будут внедрять OAuth2, захотят найти и использовать библиотеку на выбранном ими языке.
Для тех, кто внедряет OAuth2 с нуля, подробности см. в RFC 6749.
После создания приложения в Voice убедитесь, что у вас под рукой есть client_id и client_secret.
Следующий шаг — определить, какой поток OAuth2 подходит для ваших целей.
URL-адреса OAuth2
| Описание | URL |
|---|---|
| Базовый URL авторизации | https://id.iopta.org/realms/voice/protocol/openid-connect/auth |
| URL получения токена | https://id.iopta.org/realms/voice/protocol/openid-connect/token |
| URL отзыва токена | https://id.iopta.org/realms/voice/protocol/openid-connect/revoke |
OAuth 2 Scopes
Это список всех областей действия OAuth2, которые поддерживает Voice. Для использования некоторых областей действия требуется одобрение Voice. Запрос их у пользователя без одобрения Voice может привести к ошибкам или непредвиденному поведению в процессе OAuth2.
Вручную собирать URL авторизации и обменивать код на токены по спецификации OAuth2 не обязательно — Voice предоставляет для этого готовый раздел запросов «Анонимные», который берёт на себя оба этих шага.
Боты
API Voice предоставляет ботам отдельный тип пользователей, предназначенных для автоматизации. Боты автоматически добавляются во все приложения и проходят аутентификацию с помощью токена бота, который можно найти в настройках приложения. В отличие от обычного процесса OAuth2, пользователи-боты имеют полный доступ к большинству маршрутов API без использования Access-токенов и могут подключаться к шлюзу WebSocket.
Учетные записи ботов и обычных пользователей
Разработчики должны соблюдать условия предоставления услуг, в том числе воздерживаться от автоматизации стандартных учетных записей пользователей (обычно называемых «самоботами») вне API OAuth2/bot.
У ботов есть несколько отличий от обычных пользователей Voice:
- Боты добавляются в группы через API OAuth2 и не могут принимать обычные приглашения.
- У ботов не может быть друзей, их нельзя добавлять в групповые чаты или присоединять к ним.
- У верифицированных ботов нет ограничения на количество групп.
- У ботов есть совершенно отдельный набор ограничений скорости.