Диагностика и устранение неполадок
Включение отладки
По умолчанию логирование выключено. Чтобы включить его, добавьте параметр debug=true в URL RP iframe.
<iframe
id="rp-iframe"
src="/rp-iframe.html?client_id=abc123xyz&session_state=session_7f8a9b0c1d2e&op_frame_url=https://login.softline.ru/openid/check_session_iframe&debug=true"
style="display:none">
</iframe>Нет session_state
Причина: первый вход пользователя.
Решение:
- Выполнить авторизацию.
- Получить session_state.
- Создать RP iframe.
Session changed
Причина: OIDC-провайдер сообщил об изменении сессии (получено событие oidc_session_changed).
Решение:
- Повторная авторизация.
- Получение нового session_state.
- Перезапуск iframe.
Ошибка проверки сессии
Причина: RP iframe не смог проверить состояние сессии (получено событие oidc_session_error).
Решение:
- Выполнить повторную авторизацию.
- Получить новый session_state.
- Перезапустить iframe.
Безопасность
Обязательные требования:
- Используйте HTTPS
Все запросы к OIDC-провайдеру должны выполняться через HTTPS. - Проверяйте origin
Всегда валидируйте event.origin в postMessage. Обрабатывайте сообщения только от доверенных источников. - Проверяйте state
Обрабатывайте результат авторизации и сохраняйте session_state только если state из ответа соответствует state из вашего запроса. - Запрашивайте минимальные scope
Не выдавайте приложению лишние права.