From 00478e626b5878e868ed22db92545d000c69b331 Mon Sep 17 00:00:00 2001 From: Herbert Kruitbosch Date: Tue, 28 Nov 2017 10:55:28 +0100 Subject: [PATCH] create settings --- README.md | 5 + rugwebsite/__pycache__/urls.cpython-35.pyc | Bin 775 -> 391 bytes .../commands/init-saml2-settings.py | 83 +++++++++++ rugwebsite/management/commands/initsaml.py | 19 --- .../management/commands/settings_template.py | 131 ++++++++++++++++++ rugwebsite/settings/default.py | 4 +- setup.py | 2 + 7 files changed, 222 insertions(+), 22 deletions(-) create mode 100644 rugwebsite/management/commands/init-saml2-settings.py delete mode 100644 rugwebsite/management/commands/initsaml.py create mode 100644 rugwebsite/management/commands/settings_template.py diff --git a/README.md b/README.md index 0fbd6f0..e4ea9de 100755 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ # RuG website template with SAML2 login + +# CENTOS dependencies + + yum install libxml2-devel libxslt-devel python34-devel xmlsec1-devel libmcrypt libmcrypt-devel xmlsec1-openssl + diff --git a/rugwebsite/__pycache__/urls.cpython-35.pyc b/rugwebsite/__pycache__/urls.cpython-35.pyc index e7f33612f01952e342ea76e1bca72525dc3fe2e5..c839a1adf5a14c18daca81cf6d7fe4dc3d931255 100644 GIT binary patch delta 256 zcmX|(F;2rk5Jms27u$hESc((@4N^kmB9v4JU7jBF>`wMj{lA_Z0CQ*a}+ zEfrUwKuns9=8wMKNN*SJg4tv=I-UNFvo8SOlH-KZ77|zNXVdprjqC&lFafF%b%ZPe zv4YWH0?SV}#Fl8QaNrR*g7l?A7Q-k!rSZ?fo+=-eO;L4*ebCwJF(t2GRyBM0L6g_) z)_K8RyS%P`=_Vcc#Prwdvfr!uJWFi1-0-t2TfTiOdE=}Wr#}ea}7Dz8H@OFP0?gT;ya*5&=PqMdW5`>e1N?a>={A} zXv!r27<(c1@{l=!?okew9@H3l2cM$p9~u*pblufDE8AQPT&Jv;t2HSDn^tA= z&+?19($|^bDmosCPx79`Mg&Cn4oD6RNx2bt%(g%yIdDf|i64S)_O4y0Xqt`PjbhU- zueN$&SB;K57uc-Om3ICnZ3@$&uH@_*{iW5maeiu+)&;j)e*c0QQ~dsA%yY$sHVbW< z_+$I-yeI3Y_A#-uv&}a*$%=Hn)XAysfC&Ty5PcB}GbL>|oLgJR%s;+#{yMGnuFuw0 zk!H8|V($9vvzs*2%ICmN&M%{h3-cT5UC*+5{dvY08v09McvoX~m5;YkOGZ g8B92#_qwX{w$yL 0, "Excepted a X509 RUG Provider Certificate" + assert len(RUG_PROVIDER_X509CERT) == 1, "Excepted no more than 1 X509 RUG Provider Certificate" + RUG_PROVIDER_X509CERT = RUG_PROVIDER_X509CERT[0].text.strip() + + +# Construction of the service provider metadata. +SAML_PROVIDERS = [{{ + "RuG": {{ + "strict": True, + "debug": True, + "custom_base_path": "", + "sp": {{ + "entityId": ENTITY_ID, + "assertionConsumerService": {{ + "url": BASE_URL + "/sso/saml/?provider=RuG&acs", + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + }}, + "singleLogoutService": {{ + "url": BASE_URL + "/sso/saml/?provider=RuG", + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + }}, + "NameIDFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", + "x509cert": X509, + "privateKey": PRIVATE_KEY, + }}, + "idp": {{ + "entityId": "https://tst-idp.id.rug.nl/nidp/saml2/metadata", + "singleSignOnService": {{ + "url": "https://tst-idp.id.rug.nl/nidp/saml2/sso", + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + }}, + "singleLogoutService": {{ + "url": "https://tst-idp.id.rug.nl/nidp/saml2/spslo", + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + }}, + "x509cert": RUG_PROVIDER_X509CERT, + }}, + "organization": {{ + "en-US": {{ + "name": ORGANISATION, + "displayname": ORGANISATION, + "url": BASE_URL + }} + }}, + "contact_person": {{ + "technical": {{ + "given_name": TECHNICAL_NAME, + "email_address": TECHNICAL_EMAIL + }}, + "support": {{ + "given_name": SUPPORT_NAME, + "email_address": SUPPORT_EMAIL + }} + }}, + "security": {{ + "requestedAuthnContext": False, + "name_id_encrypted": False, + "authn_requests_signed": True, + "logout_requests_signed": False, + "logout_response_signed": False, + "sign_metadata": False, + "want_messages_signed": False, + "want_assertions_signed": True, + "want_name_id": True, + "want_name_id_encrypted": False, + "want_assertions_encrypted": True, + "signature_algorithm": "http://www.w3.org/2000/09/xmldsig#rsa-sha1", + "digest_algorithm": "http://www.w3.org/2000/09/xmldsig#rsa-sha1", + }} + }} +}}] diff --git a/rugwebsite/settings/default.py b/rugwebsite/settings/default.py index 6d916b0..6f6c685 100755 --- a/rugwebsite/settings/default.py +++ b/rugwebsite/settings/default.py @@ -61,8 +61,6 @@ USE_TZ = True STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') -LOGOUT_URL = '/logout/' -LOGIN_URL = '/login/' AUTHENTICATION_BACKENDS = [ @@ -76,7 +74,7 @@ SAML_USERS_MAP = [{ "RuG": { "email": dict(key="urn:mace:dir:attribute-def:mail", index=0), "username": dict(key="urn:mace:dir:attribute-def:uid", index=0), - "first_name": dict(key="urn:mace:dir:attribute-def:givenName", index=0), + "first_name": dict(key="urn:mace:dir:attribute-def:gn", index=0), "last_name": dict(key="urn:mace:dir:attribute-def:sn", index=0), } }] diff --git a/setup.py b/setup.py index 3a4282e..24f9212 100644 --- a/setup.py +++ b/setup.py @@ -27,6 +27,8 @@ setup( include_package_data=True, install_requires=[ + 'pyOpenSSL>=17.4.0', + 'cryptography>=2.1.3,<3' 'django>=1.11.7,<1.12', 'django-bootstrap4>=0.0.4,<0.1', 'django-saml2-pro-auth>=0.0.2,<0.1'