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

Руководство по PKCE

Шаг 1. Отправьте пользователя в LLMSTORE

Чтобы запустить поток PKCE, отправьте своего пользователя на сайт LLMSTORE. /auth URL-адрес с Параметр callback_url , указывающий на ваш сайт: Параметр
Объект code_challenge не является обязательным, но рекомендуется. Вашему пользователю будет предложено войти в LLMSTORE и авторизовать ваше приложение. После авторизации они будут перенаправлены обратно на ваш сайт с Параметр code в URL:
Альтернативный текст
Используйте SHA-256 для максимальной безопасностиДля максимальной безопасности установите code_challenge_method чтобы S256, и установите code_challenge в кодировку base64 хэша sha256 code_verifier.Для получения дополнительной информации посетите документацию Auth0.

Как создать вызов кода

В следующем примере API Web Crypto и API Buffer используются для создания запроса кода для метода S256. Вам понадобится упаковщик для использования Buffer API в веб-браузере:

Приложения локального хоста

Обратные вызовы Localhost поддерживаются на любом порту. Это полезно для инструментов CLI и локальных приложений, которые привязываются к произвольному свободному порту ОС для обратного вызова OAuth (например, http://localhost:51423/callback).
Приложениям Localhost присваивается фиксированный заголовок, соответствующий хосту и порту (например, localhost:3000), но не появится на торговой площадке или в рейтингах LLMSTORE. Если вам нужно собственное имя приложения и присутствие на рынке, вместо этого используйте общедоступный URL-адрес в качестве обратного вызова.
При переходе в рабочую среду замените URL-адрес обратного вызова localhost на общедоступный URL-адрес (веб-сайт вашего проекта или ссылку на репозиторий GitHub), чтобы получить полную атрибуцию приложения.

Безголовые приложения (SSH-серверы, контейнеры)

Если ваше приложение работает там, где обратный вызов локального хоста недоступен (сеанс SSH, удаленный ящик разработки, контейнер), пропустите callback_url целиком:
Headless (No Callback)
После авторизации пользователя на странице вместо перенаправления на экране отображается код авторизации. Пользователь копирует его и вставляет в ваше приложение (например, в командной строке терминала), а вы обмениваете его на шаге 2 точно так же, как обычно. В этом режиме code_challenge обязателен: поскольку код отображается на экране, PKCE гарантирует, что он бесполезен для всех, у кого нет code_verifier вашего приложения. Код одноразовый и действителен 10 минут.

Шаг 2. Обменяйте код на ключ API, управляемый пользователем.

После того, как пользователь входит в систему с помощью LLMSTORE, он перенаправляется обратно на ваш сайт с помощью Параметр code в URL:
Альтернативный текст
Извлеките этот код, используя API браузера:
Затем используйте его для вызова API https://api.llmstore.ru/v1/auth/keys , чтобы обменять код на управляемый пользователем ключ API:

Глубокая ссылка на ключ пользователя

Получив ключ API, вы сможете создавать ссылки на LLMSTORE пользователя. страницы активности и настроек ключей путем хеширования ключа с помощью SHA-256. Используйте шестнадцатеричный дайджест в нижнем регистре в обоих URL-адресах:
Ссылки работают только для вошедшего в систему владельца ключа API. Если хэш делает не разрешается для зрителя, страница возвращает 404 вместо того, чтобы показывать нефильтрованные данные. Вот и все, что касается потока PKCE!

Шаг 3. Используйте ключ API

Надежно храните ключ API в браузере пользователя или в своей базе данных и используйте его для отправки запросов LLMSTORE.

Коды ошибок

  • 400 Invalid code_challenge_method: убедитесь, что вы используете тот же метод проверки кода на шаге 1, что и на шаге 2.
  • 403 Invalid code or code_verifier: Убедитесь, что ваш пользователь вошел в систему LLMSTORE и что code_verifier и Параметры code_challenge_method верны.
  • 403 Authorization code expired: Срок действия кодов авторизации истекает через 10 минут после выдачи. Перезапустите поток OAuth и незамедлительно обменяйте новый код.
  • 405 Method Not Allowed: Убедитесь, что вы используете POST и Параметры HTTPS по вашему запросу.

Внешние инструменты