
Предыстория
OAuth в Интеллос состоит из двух отдельных потоков, которые разработчику важно понимать и учитывать при проектировании.Поток 1: Настройка OAuth-клиента (поток администратора / разработчика)
Сначала администраторам или разработчикам экземпляра Интеллос нужно зарегистрировать OAuth-приложение в стороннем сервисе как доверенное. После этого они смогут получить необходимые учётные данные для настройки поставщика инструмента Интеллос в качестве OAuth-клиента. Для примера ниже приведены шаги по настройке OAuth-клиента для поставщика инструмента Gmail в Интеллос:Создание проекта в Google Cloud
Создание проекта в Google Cloud
- Перейдите в Google Cloud Console и создайте новый проект или выберите существующий
- Включите необходимые API (например, Gmail API)
Настройка экрана согласия OAuth:
Настройка экрана согласия OAuth:
- Перейдите в APIs & Services > OAuth consent screen
- Выберите тип пользователя External для публичных плагинов
- Заполните название приложения, адрес электронной почты поддержки пользователей и контакт разработчика
- При необходимости добавьте авторизованные домены
- Для тестирования: добавьте тестовых пользователей в разделе Test users
Создание учётных данных OAuth 2.0
Создание учётных данных OAuth 2.0
- Перейдите в APIs & Services > Credentials
- Нажмите Create Credentials > OAuth 2.0 Client IDs
- Выберите тип Web application
- Будут сгенерированы
client_idиclient_secret. Сохраните их как учётные данные.
Ввод учётных данных в Интеллос
Ввод учётных данных в Интеллос
Введите client_id и client_secret во всплывающем окне настройки OAuth-клиента, чтобы настроить поставщика инструмента в качестве клиента.

Авторизация redirect URI
Авторизация redirect URI
Зарегистрируйте redirect URI, сгенерированный Интеллос, на странице OAuth-клиента Google:

Интеллос отображает Для самостоятельно размещённого Интеллос значение
redirect_uri во всплывающем окне настройки OAuth-клиента. Обычно он имеет следующий формат:your-dify-domain должно совпадать с CONSOLE_WEB_URL.Поток 2: Авторизация пользователя (поток пользователя Интеллос)
После настройки OAuth-клиентов отдельные пользователи Интеллос могут авторизовать ваш плагин для доступа к своим личным учётным записям.
Реализация
1. Определите OAuth-схему в манифесте поставщика
Разделoauth_schema в определениях манифеста поставщика сообщает Интеллос, какие учётные данные нужны для OAuth вашего плагина и что произведёт OAuth-поток. Для настройки OAuth требуются две схемы:
client_schema
Определяет ввод для настройки OAuth-клиента:gmail.yaml
Поле
url ведёт напрямую к справочной документации стороннего сервиса. Это помогает запутавшимся администраторам и разработчикам.credentials_schema
Указывает, что производит поток авторизации пользователя (Интеллос управляет этим автоматически):Включите и
oauth_schema, и credentials_for_provider, чтобы предложить варианты аутентификации OAuth + API-ключ.2. Реализуйте обязательные методы OAuth в поставщике инструмента
Добавьте эти импорты туда, где реализован вашToolProvider:
ToolProvider должен реализовать эти три метода OAuth (на примере GmailProvider):
3. Доступ к токенам в ваших инструментах
Вы можете использовать учётные данные OAuth для выполнения аутентифицированных вызовов API в реализации вашегоTool следующим образом:
self.runtime.credentials автоматически предоставляет токены текущего пользователя. Интеллос обрабатывает обновление автоматически.
Для плагинов, поддерживающих аутентификацию и через OAuth, и через API_KEY, вы можете использовать self.runtime.credential_type, чтобы различать эти два типа аутентификации.
4. Укажите правильные версии
Для OAuth требуются актуальные версии SDK и Интеллос. Зафиксируйте версию SDK плагина вrequirements.txt:
manifest.yaml добавьте минимальную версию Интеллос:
Edit this page | Report an issue

