This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
mandaye-vincennes/mandaye_vincennes/mappers/duonet_vincennes.py

134 lines
4.2 KiB
Python

from mandaye.auth.saml2 import END_POINTS_PATH
from mandaye_vincennes.filters import vincennes
filters = vincennes.Duonet()
duonet_key = 'CV4j27Em0dM%3d'
form_values = {
'login_url': 'Connect.aspx?key=%s' % duonet_key,
'form_attrs': {'name': 'form1'},
'post_fields': ['txtNomFoyer', 'txtDateNaissance', 'txtCode'],
'username_field': 'txtNomFoyer',
'password_field': 'txtCode'
}
urls = {
'login_url': '/vincennes/login',
'connection_url': '/mandaye/sso',
'associate_url': '/associate',
'disassociate_url': '/mandaye/disassociate',
}
mapping = [
{
'path': r'/',
'on_response': [
{
'content-types': ['text/html'],
'filter': filters.resp_global_html,
'values': {
'associate_url': '/associate',
'nosso_template': 'duonet/nosso.html',
'site_name': 'duonet'
},
},
]
},
{
'path': r'/vincennes/login$',
'method': 'GET',
'response': {
'auth':'login',
'values': {'condition': 'response.code==302'},
}
},
{
'path': r'/associate$',
'method': 'GET',
'target': '/Connect.aspx?key=%s' % duonet_key,
'on_response': [{
'filter': filters.resp_associate,
'values': {
'action': '/associate',
'template': 'duonet/associate.html',
'badlogin_msg': "Mauvais identifiants",
'failed_msg': "Vos identifiants pour le conservatoire ne fonctionnent plus ! Merci de les ressaisir.",
},
}]
},
{
'path': r'/associate$',
'method': 'POST',
'response': {
'auth': 'associate_submit',
'values': {'condition': 'response.code==302'}
}
},
{
'path': r'%s$' % END_POINTS_PATH['single_sign_on_post'],
'method': 'POST',
'response': {
'auth': 'single_sign_on_post',
'values': {
'login_url': '/vincennes/login',
'next_url': '/Default.aspx'
}
}
},
{
'path': r'%s$' % END_POINTS_PATH['single_logout_return'],
'method': 'GET',
'response': {
'auth': 'single_logout_return',
'values': {
'next_url': '/mandayelogout',
}
}
},
{
'path': r'/mandayelogout$',
'method': 'GET',
'target': '/Connect.aspx?key=%s' % duonet_key,
'on_response': [{'filter': vincennes.local_logout}]
},
{
'path': r'/mandaye/sso$',
'method': 'GET',
'response': {'auth': 'sso'}
},
{
'path': r'/mandaye/slo$',
'method': 'GET',
'response': {'auth': 'slo'}
},
{
'path': r'/mandaye/disassociate$',
'method': 'GET',
'response': {
'auth': 'disassociate',
'values': {
'next_url': '/',
},
}
},
{
'path': r'/Connect.aspx$',
'method': 'GET',
'on_response': [{
'filter': filters.resp_login_page,
'values': {
'connection_url': '/mandaye/sso',
'template': 'duonet/login.html',
}
}]
},
{
'path': r'/$',
'method': 'GET',
'redirect': '/Connect.aspx?key=%s' % duonet_key,
},
]