oauth_app

Создание и получение OAuth-приложения

Важно

Команда требует активной лицензии UEM. При её отсутствии команда завершится с сообщением «Недостаточный уровень лицензии: для создания необходим UEM»

Зачем нужна

Команда — обёртка над стандартным createapplication, заточенная под идемпотентную работу: при --if-not-exists повторный запуск не создаёт дубликат, а только обновляет redirect_uris у существующего приложения. Подкоманда get возвращает данные приложения по имени

Типичные случаи применения:

  • скрипты развёртывания, которые могут перезапускаться многократно — нужен предсказуемый «создать, если ещё нет»

  • автоматизация на CI/CD, где регистрация OAuth-клиентов идёт в составе пайплайна

  • get — получить client_id / client_secret существующего приложения, чтобы передать его внешней системе

Синтаксис

rude oauth_app create [--client-id CLIENT_ID] [--user USER] [--redirect-uris REDIRECT_URIS]
                      [--post-logout-redirect-uris POST_LOGOUT_REDIRECT_URIS]
                      [--client-secret CLIENT_SECRET] [--no-hash-client-secret]
                      [--name NAME] [--skip-authorization] [--algorithm ALGORITHM]
                      [--if-not-exists] client_type authorization_grant_type
rude oauth_app get --name [name]

Параметры

Параметр

Описание

create

Создать новое приложение OAuth

client_type

Тип клиента один из: конфиденциальный или публичный

authorization_grant_type

Тип используемого предоставления авторизации один из: {authorization-code urn: ietf:params:oauth:grant-type:device_code implicit password client-credentials openid-hybrid}

--client-id CLIENT_ID

ID нового приложения

--user USER

Пользователь которому принадлежит приложение

--redirect-uris REDIRECT_URIS

URI перенаправления (должны быть строками разделенными пробелами например: „URI1 URI2“)

--post-logout-redirect-uris POST_LOGOUT_REDIRECT_URIS

URI перенаправления после выхода из системы (должны быть строками разделенными пробелами например: „URI1 URI2“)

--client-secret CLIENT_SECRET

Секрет для этого приложения

--no-hash-client-secret

Не хешировать секрет клиента

--name NAME

Имя этого приложения

--skip-authorization

Если установлено полностью пропускать форму авторизации даже при первом использовании приложения

--algorithm ALGORITHM

Алгоритм подписи токена OIDC для этого приложения (один из: RS256 HS256)

get

Получить существующее приложение OAuth

name

Имя приложения для получения

Примечание

Подкоманда create наследует флаги стандартной команды createapplication из django-oauth-toolkit и добавляет флаг --if-not-exists: если приложение с таким client_id или name уже существует, новое не создаётся, а у существующего обновляется только redirect_uris

Подкоманда get возвращает данные приложения по его имени (через --name)

Примеры

Служебная команда сервера, обычно не применяется пользователем в Linux-консоли — используется в скриптах развёртывания