package org.apereo.cas.api;
import org.apereo.cas.authentication.Authentication;
import org.apereo.cas.services.RegisteredService;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
/**
* This is {@link AuthenticationRequestRiskCalculator}.
*
* @author Misagh Moayyed
* @since 5.1.0
*/
public interface AuthenticationRequestRiskCalculator {
/**
* Highest risk score for an authn request.
*/
BigDecimal HIGHEST_RISK_SCORE = BigDecimal.ONE;
/**
* Lowest risk score for an authn request.
*/
BigDecimal LOWEST_RISK_SCORE = BigDecimal.ZERO;
/**
* Calculate authentication risk score.
*
* @param authentication the authentication
* @param service the service
* @param request the request
* @return the authentication risk score
*/
AuthenticationRiskScore calculate(Authentication authentication,
RegisteredService service,
HttpServletRequest request);
}