def add_federation(user, login=None, name_id=None, provider_id=None): if not name_id: if not login: return None if not login.nameIdentifier: return None if not login.nameIdentifier.content or not login.nameIdentifier.nameQualifier: return None name_id=login.nameIdentifier fed = LibertyFederation() fed.user = user fed.name_id_content = name_id.content fed.name_id_format = name_id.format if provider_id: fed.idp = LibertyProvider.objects.get(entity_id=provider_id).identity_provider fed.save() return fed