Что такое Versola — Versola Docs
VersolaVersola/docs
До 1.00.7.1versola.kzGitHub

Что такое Versola

Versola — сервер авторизации OAuth 2.0 и OpenID Connect с консолью администратора и прокси edge. Что входит в состав и с чего начать.

Versola — это сервер авторизации OAuth 2.0 и OpenID Connect для самостоятельного размещения, консоль администратора для его настройки и прокси edge, который проверяет аутентификацию и авторизацию перед вашими API. Здесь описаны части системы и для кого она подходит. Если хотите сначала запустить её, переходите к локальному запуску.

До 1.0: Versola не гарантирует совместимость до версии 1.0.0. Конфигурация, схема базы данных и API могут меняться между релизами 0.x без пути миграции. Перед обновлением сделайте резервную копию базы.

Что входит в состав

ЧастьУровеньЧто делает
central и консоль администратораУправленияХранит всю конфигурацию. Тенанты, клиенты, scope, роли, разрешения и ресурсы вы настраиваете в консоли или через Central API
authДанныхАутентифицирует пользователей (пароль, OTP, passkey), выпускает токены, обслуживает эндпоинты OIDC
edgeТрафикаОбратный прокси для ваших API. Выполняет вход и ведёт сессии браузера, применяет политики на уровне эндпоинтов и служит шлюзом и для браузерных, и для нативных мобильных приложений

В стандартной топологии у каждого сервиса своя база Postgres. Локальный запуск и деплой на VPS кладут все три в одну базу, по схеме на сервис.

flowchart TB
    admin[["👤 Administrator"]]
    user[["👤 End user"]]

    subgraph versola["⚡ Versola"]
        proxy["versola-proxy<br/><i>nginx</i><br/>Routing and admin console files"]
        edge["edge<br/><i>traffic plane</i><br/>Sessions, policies, native gateway"]
        auth["auth<br/><i>data plane</i><br/>OAuth 2.1 and OIDC server"]
        central["central<br/><i>control plane</i><br/>Configuration and Central API"]
        db[("Postgres<br/>one database<br/>schemas auth, central, edge")]
    end

    upstream{{"🔌 Upstream APIs"}}
    notifications{{"📧 OTP delivery"}}

    admin -->|Console and API| proxy
    user -->|Login and API calls| proxy

    proxy --> edge
    proxy --> auth
    edge -->|Token, PAR, userinfo| auth
    edge -->|Console API calls| central
    edge -.->|Sync| central
    auth -.->|Sync| central
    edge -->|Proxy| upstream
    auth -->|Request OTP| notifications

    central --> db
    auth --> db
    edge --> db

    style admin fill:#92400e,stroke:#92400e,color:#fff
    style user fill:#166534,stroke:#166534,color:#fff
    style proxy fill:#334155,stroke:#e6edf3,color:#fff
    style central fill:#155e75,stroke:#e6edf3,color:#fff
    style edge fill:#155e75,stroke:#e6edf3,color:#fff
    style auth fill:#155e75,stroke:#e6edf3,color:#fff
    style db fill:#0e4a5c,stroke:#e6edf3,color:#fff
    style upstream fill:#334155,stroke:#e6edf3,color:#fff
    style notifications fill:#334155,stroke:#e6edf3,color:#fff
    style versola fill:#eaf3f5,stroke:#155e75,stroke-width:2px,color:#15171c

Подробности — на странице «Архитектура».

Для кого

Versola подходит командам, которые сами держат слой идентификации и хотят настраиваемый сервер с прокси, применяющим политики, вместо кода авторизации в каждом сервисе. Работает в Docker (через CLI), на одном сервере или в Kubernetes.

Продукт ещё не достиг версии 1.0. Прежде чем планировать промышленное использование, изучите лицензию: она не является открытой.

Лицензия

Versola распространяется по лицензии Versola Community License v1.0. Бесплатно её можно использовать для внутренней аутентификации сотрудников в организациях с численностью менее 50 человек, а любая организация вправе оценивать продукт до 90 дней. Любое другое промышленное использование требует коммерческой лицензии. Подробнее — в разделе «Лицензирование».

Что дальше