saml: add function nameid2kwargs_federation only for use with LibertyFederation
This commit is contained in:
parent
072fb9d4fb
commit
eba88a26a7
|
@ -46,6 +46,7 @@ from authentic2.idp.models import get_attribute_policy
|
|||
from authentic2.saml.models import LibertyAssertion, LibertyArtifact, \
|
||||
LibertySession, LibertyFederation, LibertySessionDump, \
|
||||
nameid2kwargs, saml2_urn_to_nidformat, LIBERTY_SESSION_DUMP_KIND_SP, \
|
||||
nameid2kwargs_federation, \
|
||||
nidformat_to_saml2_urn, save_key_values, get_and_delete_key_values, \
|
||||
LibertyProvider, LibertyServiceProvider, NAME_ID_FORMATS
|
||||
from authentic2.saml.common import redirect_next, asynchronous_bindings, \
|
||||
|
@ -305,7 +306,7 @@ def build_assertion(request, login, nid_format='transient', attributes=None):
|
|||
if nid_format == 'persistent':
|
||||
logger.debug("nameID persistent, get or create "
|
||||
"federation")
|
||||
kwargs = nameid2kwargs(login.assertion.subject.nameID)
|
||||
kwargs = nameid2kwargs_federation(login.assertion.subject.nameID)
|
||||
service_provider = LibertyServiceProvider.objects \
|
||||
.get(liberty_provider__entity_id=login.remoteProviderId)
|
||||
federation, new = LibertyFederation.objects.get_or_create(
|
||||
|
|
|
@ -543,6 +543,11 @@ class LibertyArtifact(models.Model):
|
|||
verbose_name = _('liberty artifact')
|
||||
verbose_name_plural = _('liberty artifacts')
|
||||
|
||||
def nameid2kwargs_federation(name_id):
|
||||
return {
|
||||
'name_id_content': name_id.content,
|
||||
'name_id_format': name_id.format }
|
||||
|
||||
def nameid2kwargs(name_id):
|
||||
return {
|
||||
'name_id_qualifier': name_id.nameQualifier,
|
||||
|
@ -611,7 +616,7 @@ class LibertyFederation(models.Model):
|
|||
saml2_assertion = kwargs.pop('saml2_assertion', None)
|
||||
if saml2_assertion:
|
||||
name_id = saml2_assertion.subject.nameID
|
||||
kwargs.update(nameid2kwargs(name_id))
|
||||
kwargs.update(nameid2kwargs_federation(name_id))
|
||||
models.Model.__init__(self, *args, **kwargs)
|
||||
|
||||
def is_unique(self, for_format=True):
|
||||
|
|
Loading…
Reference in New Issue