X-Git-Url: https://git.mdrn.pl/django-cas-provider.git/blobdiff_plain/82555c55f77395067231c1c22685597f12706902..7de1822447fb622522fdce31d0f0e02fa3cdcbd5:/cas_provider/views.py diff --git a/cas_provider/views.py b/cas_provider/views.py index a0847b9..e896fba 100644 --- a/cas_provider/views.py +++ b/cas_provider/views.py @@ -247,6 +247,7 @@ def ticket_validate(service, ticket_string, pgtUrl): pgt = None user = ticket.user + ticket.delete() return _cas2_sucess_response(user, pgtIouId, proxies) @@ -335,12 +336,14 @@ def auth_success_response(user, pgt, proxies): username = etree.SubElement(auth_success, CAS + 'user') username.text = user.username - if settings.CAS_CUSTOM_ATTRIBUTES_CALLBACK: - callback = get_callable(settings.CAS_CUSTOM_ATTRIBUTES_CALLBACK) - attrs = callback(user) - if len(attrs) > 0: - formater = get_callable(settings.CAS_CUSTOM_ATTRIBUTES_FORMATER) - formater(auth_success, attrs) + attrs = {} + for receiver, response in signals.cas_collect_custom_attributes.send(user): + if response: + attrs.update(response) + + if attrs: + formatter = get_callable(settings.CAS_CUSTOM_ATTRIBUTES_FORMATER) + formatter(auth_success, attrs) if pgt: pgtElement = etree.SubElement(auth_success, CAS + 'proxyGrantingTicket')