stages/authenticator_validate: handle non-existent device_challenges

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2022-02-07 20:31:49 +01:00
parent 055a76393d
commit e875db8f66
1 changed files with 4 additions and 1 deletions

View File

@ -196,7 +196,10 @@ class AuthenticatorValidateStageView(ChallengeStageView):
return super().get(request, *args, **kwargs) return super().get(request, *args, **kwargs)
def get_challenge(self) -> AuthenticatorValidationChallenge: def get_challenge(self) -> AuthenticatorValidationChallenge:
challenges = self.request.session["device_challenges"] challenges = self.request.session.get("device_challenges")
if not challenges:
LOGGER.debug("Authenticator Validation stage ran without challenges")
return self.executor.stage_invalid()
return AuthenticatorValidationChallenge( return AuthenticatorValidationChallenge(
data={ data={
"type": ChallengeTypes.NATIVE.value, "type": ChallengeTypes.NATIVE.value,