diff --git a/src/onelogin/saml2/metadata.py b/src/onelogin/saml2/metadata.py index c431be48..a76d043e 100644 --- a/src/onelogin/saml2/metadata.py +++ b/src/onelogin/saml2/metadata.py @@ -173,13 +173,16 @@ def builder(sp, authnsign=False, wsign=False, valid_until=None, cache_duration=N contacts_info.append(contact) str_contacts = '\n'.join(contacts_info) + '\n' + if not isinstance(sp['NameIDFormat'], list): + sp['NameIDFormat'] = [sp['NameIDFormat']] + metadata = u""" -%(sls)s %(name_id_format)s +%(sls)s%(name_id_format_string)s @@ -191,7 +194,7 @@ def builder(sp, authnsign=False, wsign=False, valid_until=None, cache_duration=N 'entity_id': sp['entityId'], 'authnsign': str_authnsign, 'wsign': str_wsign, - 'name_id_format': sp['NameIDFormat'], + 'name_id_format_string': (' {}\n'*len(sp['NameIDFormat'])).format(*sp['NameIDFormat']), 'binding': sp['assertionConsumerService']['binding'], 'location': sp['assertionConsumerService']['url'], 'sls': sls,