From 29d7faf4e8449b07a7d81197d03dd31a19a33501 Mon Sep 17 00:00:00 2001 From: Ivan-Timofeev Date: Thu, 27 Jun 2024 12:44:10 +0300 Subject: [PATCH] Add another section for RadiusRouter.HandleRequest --- .../Server/RadiusRouter.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/MultiFactor.Radius.Adapter/Server/RadiusRouter.cs b/MultiFactor.Radius.Adapter/Server/RadiusRouter.cs index 4dfee8e..da2c47f 100644 --- a/MultiFactor.Radius.Adapter/Server/RadiusRouter.cs +++ b/MultiFactor.Radius.Adapter/Server/RadiusRouter.cs @@ -215,6 +215,7 @@ public async Task HandleRequest(PendingRequest request) if (request.AuthenticationState.SecondFactor == AuthenticationCode.Awaiting) { var code = await ProcessSecondAuthenticationFactor(request); + if (code == PacketCode.AccessChallenge) { request.ResponseCode = request.AuthenticationState.GetResultPacketCode(); @@ -223,7 +224,17 @@ public async Task HandleRequest(PendingRequest request) return; } - if (code != PacketCode.AccessAccept) + if (code == PacketCode.AccessAccept) + { + _logger.Information("Second factor accepted for user '{user:l}' from {host:l}:{port}", + request.UserName, request.RemoteEndpoint.Address, request.RemoteEndpoint.Port); + request.AuthenticationState.SetSecondFactor(AuthenticationCode.Accept); + request.ResponseCode = request.AuthenticationState.GetResultPacketCode(); + CreateAndSendRadiusResponse(request); + return; + } + + if (code == PacketCode.AccessReject) { _logger.Information("Second factor rejected for user '{user:l}' from {host:l}:{port}", request.UserName, request.RemoteEndpoint.Address, request.RemoteEndpoint.Port); @@ -232,11 +243,6 @@ public async Task HandleRequest(PendingRequest request) CreateAndSendRadiusResponse(request); return; } - - request.AuthenticationState.SetSecondFactor(AuthenticationCode.Accept); - request.ResponseCode = request.AuthenticationState.GetResultPacketCode(); - CreateAndSendRadiusResponse(request); - return; } request.ResponseCode = request.AuthenticationState.GetResultPacketCode();