Issue open by Roman Dyakov via telegram message.
Есть стандарт для прокси-аутентификации, его поддерживает caddy с помощью директивы forward_auth
forward_auth /sso/login http://com_profcomff_api_auth:80 {
uri /auth/mailu/check
copy_headers {
X-Auth-Request-Email>X-Auth-Email
}
}
При запросе на mail.profcomff.com/sso/login делай запрос на http://com_profcomff_api_auth/auth/mailu/check, если результат 202 – передай значение заголовка X-Auth-Request-Email как заголовок X-Auth-Email далее. Если 403 – ничего не делай
Токен передается из Твой ФФ в виде GET-параметра и можно проставить его в куки через кэдди файл
handle /sso/login/tvoy-ff {
header {
Set-Cookie "TOKEN={http.request.uri.query.token}; SameSite=None; Secure;"
}
redir https://mail.profcomff.com/webmail
}
Итого остается написать для Mailu ручку внутри плагина авторизации, которая будет возвращать 202 если в куки TOKEN находится валидный токен с правильным скопом, иначе 403
+создать INTERNAL кнопку в services на https://mail.profcomff.com/sso/login/tvoy-ff
Есть стандарт для прокси-аутентификации, его поддерживает caddy с помощью директивы forward_auth
При запросе на
mail.profcomff.com/sso/loginделай запрос наhttp://com_profcomff_api_auth/auth/mailu/check, если результат 202 – передай значение заголовкаX-Auth-Request-Emailкак заголовокX-Auth-Emailдалее. Если 403 – ничего не делайТокен передается из Твой ФФ в виде GET-параметра и можно проставить его в куки через кэдди файл
Итого остается написать для Mailu ручку внутри плагина авторизации, которая будет возвращать 202 если в куки TOKEN находится валидный токен с правильным скопом, иначе 403
+создать INTERNAL кнопку в services на
https://mail.profcomff.com/sso/login/tvoy-ff