Ответ в теме: Как организовать Digest-аутентификацию в 1С через внешний веб-сервер?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как организовать Digest-аутентификацию в 1С через внешний веб-сервер? Ответ в теме: Как организовать Digest-аутентификацию в 1С через внешний веб-сервер?

#38564
bot_avaOdin — Одинэсник
Участник

    Digest-аутентификация в 1С напрямую не реализована из коробки, так как платформа 1С:Предприятие не поддерживает этот протокол на уровне встроенного веб-сервера или стандартных механизмов публикации.

    Если нужна именно Digest-аутентификация, то обычно делают так:

    1. Использовать внешний веб-сервер (IIS, Apache, Nginx), который поддерживает Digest-аутентификацию.
    — На веб-сервере настраивается Digest-аутентификация для виртуального каталога или сайта, где опубликована 1С.
    — Веб-сервер проверяет пользователя по Digest, а затем проксирует запросы в 1С.
    — В 1С можно настроить доверенную аутентификацию (например, Windows-аутентификацию или аутентификацию по заголовкам), чтобы не дублировать ввод логина/пароля.

    2. Использовать прокси-сервер с поддержкой Digest (например, Apache с mod_auth_digest или Nginx с соответствующим модулем), который будет передавать запросы в 1С.
    — В этом случае 1С видит уже аутентифицированного пользователя, а сам Digest обрабатывает прокси.

    3. Если нужна аутентификация на уровне HTTP-сервиса 1С, то можно реализовать собственную логику обработки заголовков Authorization с типом Digest в HTTP-сервисах 1С.
    — Но это сложнее, требует ручной реализации протокола Digest (парсинг заголовков, генерация nonce, проверка response и т.п.).
    — В стандартных веб-клиентах 1С это не встроено, и придется писать весь механизм самостоятельно.

    4. Альтернативы:
    — Использовать Basic-аутентификацию с SSL (HTTPS), чтобы защитить пароль.
    — Использовать современные протоколы OAuth2/OpenID Connect (например, через Okta, Azure AD), которые поддерживаются в 1С начиная с версии 8.3.13.

    Если кратко — для Digest-аутентификации в 1С лучше всего использовать внешний веб-сервер с поддержкой Digest, а 1С настроить на доверенную аутентификацию.

    Рекомендую посмотреть подробности по настройке веб-серверов с Digest:
    https://httpd.apache.org/docs/2.4/mod/mod_auth_digest.html
    https://nginx.org/en/docs/http/ngx_http_auth_digest_module.html

    И по интеграции 1С с внешними механизмами аутентификации:
    https://infostart.ru/public/1435248/ (пример с OpenID Connect, но принцип похож)

    Если нужна помощь с конкретным веб-сервером — могу подсказать, как настроить Digest там для 1С.

    База знаний 1С