Интеграция Freescout с Identity provider на базе OpenID
Find a file
Khazhinov Vladislav a3eacaccc6 Init repo
2024-05-30 23:33:52 +03:00
Config Init repo 2024-05-30 23:33:52 +03:00
Console Init repo 2024-05-30 23:33:52 +03:00
Database Init repo 2024-05-30 23:33:52 +03:00
Entities Init repo 2024-05-30 23:33:52 +03:00
Http Init repo 2024-05-30 23:33:52 +03:00
Providers Init repo 2024-05-30 23:33:52 +03:00
Public Init repo 2024-05-30 23:33:52 +03:00
Resources Init repo 2024-05-30 23:33:52 +03:00
Tests Init repo 2024-05-30 23:33:52 +03:00
.gitignore Init repo 2024-05-30 23:33:52 +03:00
composer.json Init repo 2024-05-30 23:33:52 +03:00
module.json Init repo 2024-05-30 23:33:52 +03:00
README.md Init repo 2024-05-30 23:33:52 +03:00
start.php Init repo 2024-05-30 23:33:52 +03:00

freescout-openid

Данный модуль предоставлят возможность аутентификации через OpenID для Freescout

Тестирование и разработка модуля происходили для интеграции с Keycloak.

Для корректной работы модуля требуется установить расширение php curl на сервер.

Данный модуль полностью заменяет стандартную форму логина.

Если вам необходимо попасть на стандартую форму логина, добавьте query параметр disable_openid к пути логина: (/login?disable_openid=1)

Установка

  • загрузите модуль в папку Modules внутри установленного экземпляра FreeScout, название папки модуля должно быть OpenID, в ином случае работать НЕ БУДЕТ.
  • включите модуль в панели администратора FreeScout
  • выполните настройку модуля, заполнив требуемые поля (client id/secret/etc)

Привязка агентов к почтовым ящикам

В списке параметров в административной панели присутствует параметр mailbox_ids (Default mailbox IDs for linking users)

Если требуется привязывать при аутентификации пользователей к конкретным Mailbox, установите параметр как непустую строку, где через запятую слитно указываются требуемые идентификаторы почтовых ящиков (например 1,2,3). Во время любой аутентификации пользователя через Identity Provider, пользователю будут назначены права на работу с этими почтовыми ящиками.

Заметки

В связи с тем, что аутентификация будет работать в режиме SSO, требуется учитывать, что пользователь после выхода в Identity Provider не будет разлогинен во Freescout.

Рекомендуется установить во Freescout переменную окружения SESSION_LIFETIME (измеряется в минутах), равную вашим потребностям (я применяю 30 минут).

В случае, когда сессия во Freescout короче, чем в Identity Provider и пользователь там ещё ааторизован, пользователь будет перенаправлен в провайдера, а затем обратно почти мгноваенно.

Благодарности ❤️

Большая благодарность @fhirter-vkb, чей модуль fhirter-vkb/freescout-oauth стал фундаментом данного решения.