diff --git a/cas_server/utils.py b/cas_server/utils.py index 3e62a0f..89f3ef6 100644 --- a/cas_server/utils.py +++ b/cas_server/utils.py @@ -68,3 +68,6 @@ def gen_pgtiou(): """Generate a Proxy Granting Ticket IOU""" return _gen_ticket('PGTIOU') + +def gen_saml_id(): + return _gen_ticket('_') diff --git a/cas_server/views.py b/cas_server/views.py index e00da96..ef3d785 100644 --- a/cas_server/views.py +++ b/cas_server/views.py @@ -403,7 +403,12 @@ def _saml_validate_error(request, code, msg=""): return render( request, "cas_server/samlValidateError.xml", - {'code':code, 'msg':msg}, + { + 'code':code, + 'msg':msg, + 'IssueInstant':timezone.now().isoformat(), + 'ResponseID':utils.gen_saml_id() + }, content_type="text/xml; charset=utf-8" ) @@ -457,7 +462,7 @@ def saml_validate(request): 'IssueInstant':issue_instant, 'expireInstant':expire_instant, 'Recipient':target, - 'ResponseID':request_id, + 'ResponseID':utils.gen_saml_id(), 'username':ticket.user.username, 'attributes':attributes }