Skip to content

Commit 7c86287

Browse files
Merge pull request #763 from peppelinux/invalid_destination_url
Invalid Destination URL Exception Handling
2 parents aeeccd3 + e2ed1b0 commit 7c86287

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/saml2/response.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@ class StatusAuthnFailed(StatusError):
9494
class StatusInvalidAttrNameOrValue(StatusError):
9595
pass
9696

97+
class StatusInvalidAuthnResponseStatement(StatusError):
98+
pass
99+
97100

98101
class StatusInvalidNameidPolicy(StatusError):
99102
pass
@@ -1099,13 +1102,17 @@ def session_info(self):
10991102
return {"name_id": self.name_id, "came_from": self.came_from,
11001103
"issuer": self.issuer(), "not_on_or_after": nooa,
11011104
"authz_decision_info": self.authz_decision_info()}
1102-
else:
1105+
elif getattr(self.assertion, 'authn_statement', None):
11031106
authn_statement = self.assertion.authn_statement[0]
11041107
return {"ava": self.ava, "name_id": self.name_id,
11051108
"came_from": self.came_from, "issuer": self.issuer(),
11061109
"not_on_or_after": nooa, "authn_info": self.authn_info(),
11071110
"session_index": authn_statement.session_index}
1108-
1111+
else:
1112+
raise StatusInvalidAuthnResponseStatement(
1113+
"The Authn Response Statement is not valid"
1114+
)
1115+
11091116
def __str__(self):
11101117
return self.xmlstr
11111118

0 commit comments

Comments
 (0)