From 960033525d4075b5f6c91da50b4b2e2b0a0e2303 Mon Sep 17 00:00:00 2001 From: Diman0 Date: Thu, 2 Sep 2021 18:02:20 +0200 Subject: [PATCH] configure sso in nginx --- core/admin/mailu/sso/__init__.py | 1 - core/admin/mailu/sso/views/__init__.py | 2 +- core/admin/mailu/sso/views/hello.py | 6 ------ core/admin/mailu/ui/forms.py | 9 --------- core/admin/mailu/ui/views/base.py | 18 ------------------ core/nginx/conf/nginx.conf | 10 ++++++++-- 6 files changed, 9 insertions(+), 37 deletions(-) delete mode 100644 core/admin/mailu/sso/views/hello.py diff --git a/core/admin/mailu/sso/__init__.py b/core/admin/mailu/sso/__init__.py index 2d3c6d84..fcdc9cd0 100644 --- a/core/admin/mailu/sso/__init__.py +++ b/core/admin/mailu/sso/__init__.py @@ -1,6 +1,5 @@ from flask import Blueprint - sso = Blueprint('sso', __name__, static_folder='static', template_folder='templates') from mailu.sso.views import * diff --git a/core/admin/mailu/sso/views/__init__.py b/core/admin/mailu/sso/views/__init__.py index 38efde4c..990c7919 100644 --- a/core/admin/mailu/sso/views/__init__.py +++ b/core/admin/mailu/sso/views/__init__.py @@ -1,3 +1,3 @@ __all__ = [ - 'base', 'hello' + 'base' ] diff --git a/core/admin/mailu/sso/views/hello.py b/core/admin/mailu/sso/views/hello.py deleted file mode 100644 index 2e9b5e35..00000000 --- a/core/admin/mailu/sso/views/hello.py +++ /dev/null @@ -1,6 +0,0 @@ -from mailu.sso import sso -from flask import current_app as app - -@sso.route("/") -def hello_world(): - return "

Hello, World!

" diff --git a/core/admin/mailu/ui/forms.py b/core/admin/mailu/ui/forms.py index dff7008e..640408e3 100644 --- a/core/admin/mailu/ui/forms.py +++ b/core/admin/mailu/ui/forms.py @@ -44,15 +44,6 @@ class MultipleEmailAddressesVerify(object): class ConfirmationForm(flask_wtf.FlaskForm): submit = fields.SubmitField(_('Confirm')) -""" -class LoginForm(flask_wtf.FlaskForm): - class Meta: - csrf = False - email = fields.StringField(_('E-mail'), [validators.Email()]) - pw = fields.PasswordField(_('Password'), [validators.DataRequired()]) - submit = fields.SubmitField(_('Sign in')) -""" - class DomainForm(flask_wtf.FlaskForm): name = fields.StringField(_('Domain name'), [validators.DataRequired()]) max_users = fields_.IntegerField(_('Maximum user count'), [validators.NumberRange(min=-1)], default=10) diff --git a/core/admin/mailu/ui/views/base.py b/core/admin/mailu/ui/views/base.py index fc9daba6..278176fa 100644 --- a/core/admin/mailu/ui/views/base.py +++ b/core/admin/mailu/ui/views/base.py @@ -11,24 +11,6 @@ import flask_login def index(): return flask.redirect(flask.url_for('.user_settings')) - -""" -@ui.route('/login', methods=['GET', 'POST']) -def login(): - form = forms.LoginForm() - if form.validate_on_submit(): - user = models.User.login(form.email.data, form.pw.data) - if user: - flask.session.regenerate() - flask_login.login_user(user) - endpoint = flask.request.args.get('next', '.index') - return flask.redirect(flask.url_for(endpoint) - or flask.url_for('.index')) - else: - flask.flash('Wrong e-mail or password', 'error') - return flask.render_template('login.html', form=form) -""" - @ui.route('/logout', methods=['GET']) @access.authenticated def logout(): diff --git a/core/nginx/conf/nginx.conf b/core/nginx/conf/nginx.conf index ac5aabe2..d428b0d0 100644 --- a/core/nginx/conf/nginx.conf +++ b/core/nginx/conf/nginx.conf @@ -117,10 +117,16 @@ http { include /overrides/*.conf; # Actual logic - location /sso { + location ^~ /sso { include /etc/nginx/proxy.conf; proxy_set_header Host $host; - proxy_pass http://$admin/sso; + proxy_pass http://$admin; + } + location ^~ {{ WEB_ADMIN }}/sso { + include /etc/nginx/proxy.conf; + rewrite ^{{ WEB_ADMIN }}/(.*)$ /$1 break; + proxy_set_header Host $host; + proxy_pass http://$admin; } {% if WEB_WEBMAIL != '/' and WEBROOT_REDIRECT != 'none' %}