Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Resolving NameID
  • Loading branch information
Andrew Stoltz committed Mar 23, 2016
commit dd7cb11652c9c5de0d8c3b9732f4512bc62a0883
21 changes: 7 additions & 14 deletions djangosaml2/cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

from saml2.cache import Cache
from saml2.ident import code, decode
import six


class DjangoSessionCacheAdapter(dict):
Expand Down Expand Up @@ -78,24 +79,16 @@ def __init__(self, django_session):

def get(self, name_id, entity_id, *args, **kwargs):
info = super(IdentityCache, self).get(name_id, entity_id, *args, **kwargs)
try:
name_id = info['name_id']
except KeyError:
pass
else:
info = dict(info)
info['name_id'] = decode(name_id)

if 'name_id' in info and not isinstance(info['name_id'], six.string_types):
info['name_id'] = code(info['name_id'])

return info

def set(self, name_id, entity_id, info, *args, **kwargs):
try:
name_id = info['name_id']
except KeyError:
pass
else:
info = dict(info)
info['name_id'] = code(name_id)
if 'name_id' in info and not isinstance(info['name_id'], six.string_types):
info['name_id'] = code(info['name_id'])

return super(IdentityCache, self).set(name_id, entity_id, info, *args, **kwargs)


Expand Down