Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mailu forward_auth handler #200

Open
viribus-issue-bot opened this issue Aug 27, 2024 · 1 comment
Open

Mailu forward_auth handler #200

viribus-issue-bot opened this issue Aug 27, 2024 · 1 comment
Labels
good first issue 👶 Задача подходит для новичков new feature 🆕 Новая фича или запрос на нее

Comments

@viribus-issue-bot
Copy link

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

@dyakovri
Copy link
Member

dyakovri commented Aug 27, 2024

Задача по факту может звучать как

Напиши в плагин авторизации mailu в Твой ФФ обработчик запросов /check, который будет возвращать status_code=202 если в куки есть токен, он валидный и имеет scope=mail.profcomff.login, иначе верни status_code=403. В заголовок X-Auth-Email клади значение login из параметров метода авторизации

@dyakovri dyakovri added new feature 🆕 Новая фича или запрос на нее good first issue 👶 Задача подходит для новичков labels Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue 👶 Задача подходит для новичков new feature 🆕 Новая фича или запрос на нее
Projects
Status: Backlog
Development

No branches or pull requests

2 participants