misc: remove leftover traces of identification_token (#8113)

This commit is contained in:
Frédéric Péters 2015-08-25 15:06:17 +02:00
parent 04b8810b1d
commit 6da1ab4f20
2 changed files with 3 additions and 94 deletions

View File

@ -193,28 +193,12 @@ class MethodDirectory(Directory):
session = get_session()
user.name_identifiers.append(session.name_identifier)
user.lasso_dump = get_request().user.lasso_dump
user.identification_token = None
user.store()
session.set_user(user.id)
return redirect(get_publisher().get_root_url())
def token(self):
token = get_request().get_query()
get_session().ident_idp_token = None
user_class = get_publisher().user_class
users_with_token = list(user_class.select(lambda x: x.identification_token == token))
if len(users_with_token) == 0:
# XXX: better error page
return template.error_page(_('Unknown Token'))
get_session().ident_idp_token = get_request().get_query()
if IdPAuthMethod().is_interactive():
return redirect('login')
else:
return qommon.ident.login('idp')
class AdminIDPDir(Directory):
title = N_('Identity Providers')
@ -1044,77 +1028,13 @@ class MethodAdminDirectory(Directory):
class MethodUserDirectory(Directory):
_q_exports = ['token']
_q_exports = []
def __init__(self, user):
self.user = user
def get_actions(self):
if not self.user.name_identifiers:
return []
return [('token', _('Send email with identification token'))]
def token(self):
request = get_request()
if request.form.has_key('cancel') or request.form.has_key('done'):
return redirect('..')
html_top('users', title = _('Email with Identification Token'))
r = TemplateIO(html=True)
r += htmltext('<h2>%s</h2>') % _('Email with Identification Token')
if not self.user.identification_token:
token = '-'.join(['%04d' % random.randint(1, 9999) for x in range(4)])
self.user.identification_token = str(token)
self.user.store()
token = self.user.identification_token
token_url = '%s://%s%sident/idp/token?%s' % (request.get_scheme(), request.get_server(),
get_publisher().get_root_url(), self.user.identification_token)
r += htmltext('<p>%s</p>') % _('The identification token for this user is %s.\n') % token
r += htmltext('<p>%s</p>') % _('Its token URL is %s') % token_url
if self.user.email:
r += htmltext('<h3>%s</h3>') % _('Sample Email')
mail_data = {
'sitename': get_cfg('misc', {}).get('sitename'),
'token': token,
'token_url': token_url
}
form = Form(enctype='multipart/form-data', use_tokens = True)
from qommon.admin.emails import EmailsDirectory
mail_subject = EmailsDirectory.get_subject('email_with_token')
mail_subject_template = ezt.Template(compress_whitespace = False)
mail_subject_template.parse(mail_subject)
fd = StringIO()
mail_subject_template.generate(fd, mail_data)
mail_subject = fd.getvalue()
mail_body = EmailsDirectory.get_body('email_with_token')
mail_body_template = ezt.Template(compress_whitespace = False)
mail_body_template.parse(mail_body)
fd = StringIO()
mail_body_template.generate(fd, mail_data)
mail_body = fd.getvalue()
form.add(StringWidget, 'subject', title = _('Subject'), required = True,
value = mail_subject, size = 50)
form.add(TextWidget, 'body', title = _('Body'), required = True,
value = mail_body, cols = 70, rows = 10)
form.add_submit('submit-email', _('Send Email'))
if form.get_submit() == 'submit-email':
emails.email(mail_subject, mail_body, self.user.email)
return redirect('..')
r += form.render()
return r.getvalue()
return []
class IdPAuthMethod(AuthMethod):

View File

@ -498,18 +498,7 @@ class Saml2Directory(Directory):
if nis:
user = nis[0]
else:
if not session.ident_idp_token:
return None
token = session.ident_idp_token
UserClass = get_publisher().user_class
users_with_token = list(UserClass.get_users_with_identification_token(token))
if not users_with_token:
return None
user = users_with_token[0]
user.name_identifiers.append(login.nameIdentifier.content)
user.store()
return None
if login and login.identity:
user.lasso_dump = login.identity.dump()