Add a confirmation page when asking for defederation

This commit is contained in:
root 2008-11-19 12:38:56 +01:00
parent 5fca3f81b5
commit ae81e867b7
3 changed files with 49 additions and 3 deletions

View File

@ -0,0 +1,45 @@
import time
import sys
import re
import base64
import Cookie
import StringIO
import cgi
import traceback
import socket
import xml.sax.saxutils
import lasso
try:
import lassodgme
except ImportError:
print >> sys.stderr, 'Missing lassodgme module; ID-WSF proxy has been disabled'
lassodgme = None
from quixote import get_session, get_session_manager, get_request, get_response, redirect, get_field, get_publisher
from quixote.http_request import parse_header
from qommon import get_cfg, get_logger
from qommon import errors, template
import misc
import authentic.liberty.root
from authentic.liberty.root import SOAPError
class AlternateSpUI(authentic.liberty.root.SpUI):
_q_exports = ['proxy_terminate_confirm','terminate','login','proxy_terminate']
def proxy_terminate_confirm [html] (self):
template.html_top()
u'<p>Souhaitez-vous vraiment supprimer la liaison avec Mon Service Public ?</p>'
u'<p><ul>'
u'<li><a href="proxy_terminate">Valider<a/></li>'
u'<li><a href="../../..">Annuler</a></li>'
u'</ul></p>'
class AlternateSpDir(authentic.liberty.root.SpDir):
def _q_lookup(self, component):
return AlternateSpUI(component)

View File

@ -27,6 +27,7 @@ import misc
import authentic.liberty.root
from authentic.liberty.root import SOAPError
from alternatespui import AlternateSpDir
ED_MIGRATION_DISABLED = False
ED_DOCUMENTS_MIGRATION_DISABLED = True
@ -58,6 +59,8 @@ class AlternateLibertyDirectory(authentic.liberty.root.RootDirectory):
"proxySoapEndpoint", "proxyAssertionConsumer", "proxySingleLogout",
"proxySingleLogoutNext", 'mspProxyEndpoint', 'proxySingleLogoutReturn']
sp = AlternateSpDir()
def perform_proxy_login(self, idp = None, nameIdPolicy = None, extensions = None):
session = get_session()
server = authentic.misc.get_lasso_server(lasso.PROVIDER_ROLE_SP)

View File

@ -52,8 +52,6 @@ class MspUserHash(StorableObject):
return cls.get(hash)
get_by_cookie = classmethod(get_by_cookie)
class AlternateRootDirectory(OldRootDirectory):
_q_exports = ['', 'admin', 'liberty', 'login', 'logout', 'change_password', 'register',
'forgot_password', 'update_info', 'saml', 'singleLogout',
@ -140,7 +138,7 @@ class AlternateRootDirectory(OldRootDirectory):
if identity.is_federated_with_msp():
msp_provider_id = get_cfg('adeline', {}).get('msp_idp')
klp = get_key_from_provider_id(msp_provider_id)
terminate_url = '/liberty/sp/%s/proxy_terminate' % klp
terminate_url = '/liberty/sp/%s/proxy_terminate_confirm' % klp
msp_portal_url = get_cfg('adeline', {}).get('msp_portal_url')
'<li>%s <span class="but-right"><a href="%s">%s</a> <a href="%s">%s</a></span></li>' % (
_('Access MSP'), msp_portal_url, _('Connect'), terminate_url, _('Remove Link'))