Skip to content

Commit c50359b

Browse files
committed
all saml_sp_response needs authn_options
use parameter names to clarify None usage
1 parent 68d9471 commit c50359b

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/eduid/webapp/idp/views/next.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ def next_view(ticket: LoginContext, sso_session: SSOSession | None) -> FluxData:
5050
if _next.message == IdPMsg.aborted:
5151
if isinstance(ticket, LoginContextSAML):
5252
saml_params = cancel_saml_request(ticket, current_app.conf)
53-
return create_saml_sp_response(saml_params=saml_params)
53+
authn_options = _get_authn_options(ticket=ticket, sso_session=sso_session, eppn=None)
54+
return create_saml_sp_response(saml_params=saml_params, authn_options=authn_options)
5455
elif isinstance(ticket, LoginContextOtherDevice):
5556
state = ticket.other_device_req
5657
if state.state in [OtherDeviceState.NEW, OtherDeviceState.IN_PROGRESS, OtherDeviceState.AUTHENTICATED]:
@@ -78,7 +79,8 @@ def next_view(ticket: LoginContext, sso_session: SSOSession | None) -> FluxData:
7879
if _next.message == IdPMsg.assurance_failure:
7980
if isinstance(ticket, LoginContextSAML):
8081
saml_params = authn_context_class_not_supported(ticket, current_app.conf)
81-
return create_saml_sp_response(saml_params=saml_params)
82+
authn_options = _get_authn_options(ticket=ticket, sso_session=sso_session, eppn=None)
83+
return create_saml_sp_response(saml_params=saml_params, authn_options=authn_options)
8284
current_app.logger.error(f"Don't know how to send error response for request {ticket}")
8385
return error_response(message=IdPMsg.general_failure)
8486

@@ -100,7 +102,7 @@ def next_view(ticket: LoginContext, sso_session: SSOSession | None) -> FluxData:
100102
_payload = {
101103
"action": IdPAction.OTHER_DEVICE.value,
102104
"target": url_for("other_device.use_other_1", _external=True),
103-
"authn_options": _get_authn_options(ticket, sso_session, required_user.eppn),
105+
"authn_options": _get_authn_options(ticket=ticket, sso_session=sso_session, eppn=required_user.eppn),
104106
"service_info": _get_service_info(ticket),
105107
}
106108

@@ -113,7 +115,7 @@ def next_view(ticket: LoginContext, sso_session: SSOSession | None) -> FluxData:
113115
_payload = {
114116
"action": IdPAction.PWAUTH.value,
115117
"target": url_for("pw_auth.pw_auth", _external=True),
116-
"authn_options": _get_authn_options(ticket, sso_session, required_user.eppn),
118+
"authn_options": _get_authn_options(ticket=ticket, sso_session=sso_session, eppn=required_user.eppn),
117119
"service_info": _get_service_info(ticket),
118120
}
119121

@@ -128,7 +130,7 @@ def next_view(ticket: LoginContext, sso_session: SSOSession | None) -> FluxData:
128130
payload={
129131
"action": IdPAction.MFA.value,
130132
"target": url_for("mfa_auth.mfa_auth", _external=True),
131-
"authn_options": _get_authn_options(ticket, sso_session, required_user.eppn),
133+
"authn_options": _get_authn_options(ticket=ticket, sso_session=sso_session, eppn=required_user.eppn),
132134
"service_info": _get_service_info(ticket),
133135
},
134136
)
@@ -139,7 +141,7 @@ def next_view(ticket: LoginContext, sso_session: SSOSession | None) -> FluxData:
139141
payload={
140142
"action": IdPAction.TOU.value,
141143
"target": url_for("tou.tou", _external=True),
142-
"authn_options": _get_authn_options(ticket, sso_session, required_user.eppn),
144+
"authn_options": _get_authn_options(ticket=ticket, sso_session=sso_session, eppn=required_user.eppn),
143145
},
144146
)
145147

@@ -186,7 +188,7 @@ def next_view(ticket: LoginContext, sso_session: SSOSession | None) -> FluxData:
186188

187189
if isinstance(ticket, LoginContextSAML):
188190
saml_params = sso.get_response_params(_next.authn_info, ticket, user)
189-
authn_options = _get_authn_options(ticket, sso_session, required_user.eppn)
191+
authn_options = _get_authn_options(ticket=ticket, sso_session=sso_session, eppn=required_user.eppn)
190192
return create_saml_sp_response(saml_params=saml_params, authn_options=authn_options)
191193
elif isinstance(ticket, LoginContextOtherDevice):
192194
if not ticket.is_other_device_2:

0 commit comments

Comments
 (0)