Что решает каждый протокол
OAuth 2.0 описывает делегирование авторизации. OpenID Connect добавляет поверх OAuth 2.0 уровень аутентификации — идентичность пользователя и ID token.
Authorization Code Flow с PKCE
- Приложение создаёт
state, а для OIDC —nonce; формируетcode_verifierиcode_challenge. - Браузер переходит на endpoint авторизации.
- Сервер проверяет клиента, redirect URI и выполняет сценарий входа.
- Браузер возвращается в приложение с краткоживущим authorization code.
- Приложение обменивает код и
code_verifierна токены через token endpoint. - Приложение и API проверяют предназначенные им токены по issuer, audience, подписи и срокам действия.
Endpoint discovery
OIDC discovery предоставляет клиенту адреса авторизации, токенов, JWKS и другие параметры. Полный путь discovery зависит от реализации и конфигурации issuer: не подставляйте шаблонные URL, пока их не подтвердили интеграционными тестами.
Что нельзя пропускать
- Точное совпадение разрешённого redirect URI.
- Проверка
state,nonceи PKCE. - Проверка
iss,aud,expи подписи токена. - Корректная обработка ошибок и отсутствие утечки токенов в URL, логи и analytics.
Полезно различать контроль над локальной сессией приложения и сроком действия выпущенных токенов. Их жизненные циклы не совпадают.
Как это связано с RustCloak
Протокольный слой отвечает за OIDC/REST-сценарии; точный набор endpoints и совместимость клиентов должны быть подтверждены тестами выбранного commit. См. API и интеграции.
Сверьте примеры с используемой ревизией исходников и подготовьте отчёт.
Как сообщить об ошибке →