Клиент — приложение, которое запрашивает у Versola токены. Здесь по шагам разобран четырехшаговый мастер создания клиента в консоли администратора для каждого типа. Тип выбирайте внимательно: после создания клиента его не изменить. Что задает каждый тип, описано в разделе Клиент.
Что понадобится
- Тенант, которому принадлежит приложение. Его профиль безопасности определяет, что предложит мастер.
- Client ID, который вас устроит: он не меняется.
- Для веб-приложения и мобильного или десктопного приложения: точные redirect URI и нужные scope (если их нет, создайте сначала). Мобильному или десктопному приложению нужен https App Link или Universal Link.
- Для сервисного приложения: нужные разрешения и, для сертификата или ключа, данные сертификата или JWK Set.
1. Откройте раздел Clients
Выберите тенант в боковом меню и откройте Clients. Таблица показывает каждого клиента с его Type, значением Authenticates with и значком Security (FAPI 2.0 или Standard). Вкладки фильтруют по типу. Нажмите строку, чтобы открыть страницу клиента.

2. Шаг 1: What you are building
Нажмите + Create Client. Выберите Web app, Mobile or desktop app или Service app. Под карточками панель плана перечисляет, что задает тип. Замок обозначает правило, а не выбор. На тенанте Standard панель еще сообщает, что тенант не FAPI 2.0.

Нажмите Continue to basics.
3. Шаг 2: Basics
Заполните идентификацию и, если у типа есть пользователи, redirect URI.
- Client ID — строчные буквы, цифры и дефисы, начинается с буквы. Выбирается сейчас и не меняется.
- Client name — показывается пользователям на экранах входа и согласия (с локализацией, по значению на язык). У сервисного приложения показывается только в Central.
- Redirect URIs — введите каждый URI и нажмите Enter или Add. Они должны в точности совпадать с
redirect_uri, который отправляет приложение. Для веб-приложения подсказка говорит: «Edge’s callback, not the page the user ends up on». Мобильное или десктопное приложение принимает https App Link или Universal Link. - How the client authenticates — у веб-приложения и мобильного или десктопного приложения это фиксировано: mTLS by edge, регистрировать нечего и хранить секрет не нужно. У мобильного или десктопного приложения еще есть DPoP proof key, который устройство создает в своем keystore.
- Logout (необязательно) — front-channel или back-channel и его URI. См. Logout.

Нажмите Continue to sign-in.
4. Шаг 3: Sign-in
Выберите, как пользователи входят в этого клиента. Настройка относится только к нему.
- Credential — Email, Phone или Login + password.
- Sign-up — переключателя на шаге нет: регистрация — решение тенанта. В блоке Registration на странице Security вы выбираете режим для email (Closed, Open, Allowlist), настройку Sign-up каждой страны для телефона и Default roles, которые получает новый аккаунт. Клиент, который просит email или телефон, предлагает регистрацию, когда тенант разрешает этот credential. Для Login + password регистрации нет: такие аккаунты создаются в Central.
- Passkey — предложить passkey на первом экране, с одноразовым кодом после него или без. Для нового клиента включено по умолчанию.
- Then challenge with — одноразовый код (фиксируется по credential: телефону — SMS) и, по желанию, Then ask for a password.
- Set up after sign-in — Ask the user to add a passkey. Включено по умолчанию; пользователь может пропустить.
- Scopes — выберите из scope тенанта.
openidесть всегда. Добавьтеoffline_access, если клиенту нужны refresh token. - Consent — First party, no prompt или Ask for consent. Ask for consent делает клиента partner-клиентом: его SMS-коды называют приложение, а согласие потом не отключить.

При Ask for consent шаг показывает еще и подсказку о partner и настройки согласия.

Нажмите Continue to review.
5. Шаг 4: Review
Обзор группирует ваш выбор, у каждой группы ссылка Change на нужный шаг. Для клиента, соответствующего FAPI 2.0, наверху Meets FAPI 2.0. Проверьте Kind, Authenticates with, Token binding и Refresh token: refresh token показан как «none», пока offline_access не в scope. Для веб-приложения и мобильного или десктопного приложения обзор сообщает, что секрет не выдается.

Нажмите Create Client. Вы попадете на страницу клиента.

Мобильные и десктопные приложения
Шаги 1–4 те же, с такими отличиями:
- В шаге 1 в плане есть DPoP-bound access tokens, App Link redirect only и 1 hour access token, refresh rotation on.
- В шаге 2 redirect URI должен быть https App Link или Universal Link.
- Scope в шаге 3 по умолчанию включают
offline_access. Тогда в обзоре refresh token на 180 дней.

О вызовах, которые приложение делает дальше, см. Как собрать поток нативного мобильного приложения.
Сервисные приложения
У сервисного приложения нет пользователя, поэтому мастер отличается:
- В Basics нет redirect URI. В How the client authenticates выберите client secret, key или certificate. client secret предлагается только на тенанте Standard; на тенанте FAPI 2.0 выбирают между key и certificate.
- С certificate сертификат можно продлевать в вашем PKI с тем же subject или выдавать и продлевать автоматически через EST (
estEnrollment). См. Автоматическое продление клиентского сертификата (EST). - Шаг 3 — Permissions, а не Sign-in: отметьте разрешения, которые может вызывать сервис. OIDC scope, экрана согласия и refresh token нет.
- При client secret секрет генерируется, когда вы нажимаете Create Client, и показывается один раз на странице, куда вы попадаете. Сохраните его, пока не ушли: auth хранит только хеш и повторно показать секрет не может. Access token — bearer.




Ротация секрета
На странице клиента, который аутентифицируется секретом, откройте Client secret и нажмите Rotate secret. Versola выпустит новый секрет, покажет его один раз и оставит прежний рабочим; у клиента появится значок Secret rotation. Раскатайте новый секрет и нажмите Delete old secret.
Что дальше
- Зарегистрируйте API, которые вызывает клиент: Как зарегистрировать ресурс.
- Выдайте сервисному приложению разрешения: Как зарегистрировать разрешение.
- Поставьте клиента за edge: Как защитить API с помощью edge.