Skip to content

Commit c5aa4a2

Browse files
author
Roland Hedberg
committed
Added a method that checks any given return URL against what's registered in metadata.
1 parent b6fe855 commit c5aa4a2

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/saml2/discovery.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ def parse_discovery_service_request(self, url="", query=""):
6262

6363
# -------------------------------------------------------------------------
6464

65-
def create_discovery_service_response(self, return_url=None,
65+
@staticmethod
66+
def create_discovery_service_response(return_url=None,
6667
returnIDParam="entityID",
6768
entity_id=None, **kwargs):
6869
if return_url is None:
@@ -87,3 +88,13 @@ def verify_sp_in_metadata(self, entity_id):
8788
return True
8889

8990
return False
91+
92+
def verify_return(self, entity_id, return_url):
93+
for endp in self.metadata.discovery_response(entity_id):
94+
try:
95+
assert return_url.startswith(endp["location"])
96+
except AssertionError:
97+
pass
98+
else:
99+
return True
100+
return False

0 commit comments

Comments
 (0)