Allow getting metadata of IdP by doing an HTTP GET

This commit is contained in:
Benjamin Dauvergne 2015-02-13 18:23:28 +01:00
parent 9525e29b03
commit 8f8f47b1a9
1 changed files with 3 additions and 0 deletions

View File

@ -4,6 +4,7 @@ import datetime
import importlib
from functools import wraps
from xml.etree import ElementTree as ET
import urllib
from django.core.urlresolvers import reverse
from django.template.loader import render_to_string
@ -45,6 +46,8 @@ def create_server(request):
private_key_content=app_settings.PRIVATE_KEY,
private_key_password=app_settings.PRIVATE_KEY_PASSWORD)
for idp in idps:
if 'METADATA_URL' in idp and 'METADATA' not in idp:
idp['METADATA'] = urllib.urlopen(idp['METADATA_URL']).read()
metadata = idp['METADATA']
if metadata.startswith('/'):
metadata = file(metadata).read()