├── .env.example ├── .github └── workflows │ └── CI.yml ├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── LICENSE.txt ├── README.md ├── core ├── pom.xml └── src │ ├── main │ ├── assembly │ │ └── assembly.xml │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── mabartos │ │ │ ├── ai │ │ │ ├── AiEngineUtils.java │ │ │ ├── DefaultAiDataRequest.java │ │ │ ├── DefaultAiDataResponse.java │ │ │ ├── DefaultAiRiskData.java │ │ │ ├── granite │ │ │ │ ├── GraniteAiEngine.java │ │ │ │ └── GraniteAiEngineFactory.java │ │ │ └── openai │ │ │ │ ├── OpenAiEngine.java │ │ │ │ └── OpenAiEngineFactory.java │ │ │ ├── context │ │ │ ├── UserContexts.java │ │ │ ├── browser │ │ │ │ ├── BrowserCondition.java │ │ │ │ ├── BrowserConditionFactory.java │ │ │ │ └── DefaultBrowsers.java │ │ │ ├── device │ │ │ │ ├── DefaultDeviceContext.java │ │ │ │ ├── DefaultDeviceContextFactory.java │ │ │ │ └── DeviceContext.java │ │ │ ├── ip │ │ │ │ ├── IpAddressCondition.java │ │ │ │ ├── IpAddressConditionFactory.java │ │ │ │ ├── IpAddressUtils.java │ │ │ │ ├── client │ │ │ │ │ ├── DefaultIpAddress.java │ │ │ │ │ ├── DefaultIpAddressFactory.java │ │ │ │ │ ├── DeviceIpAddressContext.java │ │ │ │ │ ├── DeviceIpAddressContextFactory.java │ │ │ │ │ ├── HeaderIpAddressContext.java │ │ │ │ │ ├── HeaderIpAddressContextFactory.java │ │ │ │ │ ├── IpAddressContext.java │ │ │ │ │ ├── TestIpAddressContext.java │ │ │ │ │ └── TestIpAddressContextFactory.java │ │ │ │ └── proxy │ │ │ │ │ ├── IpProxyContext.java │ │ │ │ │ ├── ProxyIpAddressContext.java │ │ │ │ │ └── ProxyIpAddressContextFactory.java │ │ │ ├── location │ │ │ │ ├── IpApiLocationContext.java │ │ │ │ ├── IpApiLocationContextFactory.java │ │ │ │ ├── IpApiLocationData.java │ │ │ │ ├── LocationCondition.java │ │ │ │ ├── LocationConditionFactory.java │ │ │ │ ├── LocationContext.java │ │ │ │ └── LocationData.java │ │ │ ├── os │ │ │ │ ├── DefaultOperatingSystems.java │ │ │ │ ├── OperatingSystemCondition.java │ │ │ │ ├── OperatingSystemConditionFactory.java │ │ │ │ ├── PhoneCondition.java │ │ │ │ └── PhoneConditionFactory.java │ │ │ └── user │ │ │ │ ├── KcLoginEventsContext.java │ │ │ │ ├── KcLoginEventsContextFactory.java │ │ │ │ ├── KcLoginFailuresEventsContext.java │ │ │ │ ├── KcLoginFailuresEventsContextFactory.java │ │ │ │ ├── KcUserRoleContext.java │ │ │ │ ├── KcUserRoleContextFactory.java │ │ │ │ ├── LoginEventsContext.java │ │ │ │ └── UserRoleContext.java │ │ │ ├── engine │ │ │ ├── AuthnSessionStoredRiskFactory.java │ │ │ ├── AuthnSessionStoredRiskProvider.java │ │ │ ├── DefaultRiskEngine.java │ │ │ ├── DefaultRiskEngineFactory.java │ │ │ ├── LoginEventsEventListener.java │ │ │ ├── LoginEventsEventListenerFactory.java │ │ │ ├── WeightedAvgRiskAlgorithm.java │ │ │ └── WeightedAvgRiskAlgorithmFactory.java │ │ │ ├── evaluator │ │ │ ├── EvaluatorUtils.java │ │ │ ├── RiskEvaluatorAuthenticator.java │ │ │ ├── RiskEvaluatorAuthenticatorFactory.java │ │ │ ├── behavior │ │ │ │ ├── UserActionsRiskEvaluator.java │ │ │ │ └── UserActionsRiskEvaluatorFactory.java │ │ │ ├── browser │ │ │ │ ├── BrowserRiskEvaluator.java │ │ │ │ └── BrowserRiskEvaluatorFactory.java │ │ │ ├── device │ │ │ │ ├── AiDeviceRiskEvaluator.java │ │ │ │ └── AiDeviceRiskEvaluatorFactory.java │ │ │ ├── location │ │ │ │ ├── LocationRiskEvaluator.java │ │ │ │ └── LocationRiskEvaluatorFactory.java │ │ │ ├── login │ │ │ │ ├── AiLoginFailuresRiskEvaluator.java │ │ │ │ ├── AiLoginFailuresRiskEvaluatorFactory.java │ │ │ │ ├── AiTimeAccessRiskEvaluator.java │ │ │ │ ├── AiTimeAccessRiskEvaluatorFactory.java │ │ │ │ ├── LoginEventIpAddressRiskEvaluator.java │ │ │ │ ├── LoginEventIpAddressRiskEvaluatorFactory.java │ │ │ │ ├── LoginFailuresRiskEvaluator.java │ │ │ │ └── LoginFailuresRiskEvaluatorFactory.java │ │ │ ├── os │ │ │ │ ├── OperatingSystemRiskEvaluator.java │ │ │ │ └── OperatingSystemRiskEvaluatorFactory.java │ │ │ ├── recaptcha │ │ │ │ ├── RecaptchaAuthenticatorFactory.java │ │ │ │ ├── RecaptchaRiskEvaluator.java │ │ │ │ └── RecaptchaRiskEvaluatorFactory.java │ │ │ └── role │ │ │ │ ├── DefaultUserRoleEvaluator.java │ │ │ │ └── DefaultUserRoleEvaluatorFactory.java │ │ │ ├── level │ │ │ ├── AbstractRiskLevelConditionFactory.java │ │ │ ├── AdvancedRiskLevelsConditionFactory.java │ │ │ ├── AdvancedRiskLevelsFactory.java │ │ │ ├── AdvancedRiskLevelsProvider.java │ │ │ ├── Risk.java │ │ │ ├── RiskLevelCondition.java │ │ │ ├── SimpleRiskLevel.java │ │ │ ├── SimpleRiskLevelConditionFactory.java │ │ │ ├── SimpleRiskLevelsFactory.java │ │ │ ├── SimpleRiskLevelsProvider.java │ │ │ └── Weight.java │ │ │ ├── spi │ │ │ ├── ai │ │ │ │ ├── AiEngine.java │ │ │ │ ├── AiEngineFactory.java │ │ │ │ ├── AiEngineSpi.java │ │ │ │ └── AiRiskEvaluatorMessages.java │ │ │ ├── condition │ │ │ │ ├── DefaultOperation.java │ │ │ │ ├── Operation.java │ │ │ │ ├── OperationsBuilder.java │ │ │ │ ├── UserContextCondition.java │ │ │ │ ├── UserContextConditionFactory.java │ │ │ │ ├── UserContextConditionSpi.java │ │ │ │ └── VerifiableUserContext.java │ │ │ ├── context │ │ │ │ ├── AbstractUserContext.java │ │ │ │ ├── UserContext.java │ │ │ │ ├── UserContextFactory.java │ │ │ │ └── UserContextSpi.java │ │ │ ├── engine │ │ │ │ ├── ConfigurableRequirements.java │ │ │ │ ├── RiskEngine.java │ │ │ │ ├── RiskEngineFactory.java │ │ │ │ ├── RiskEngineSpi.java │ │ │ │ ├── RiskScoreAlgorithm.java │ │ │ │ ├── RiskScoreAlgorithmFactory.java │ │ │ │ ├── RiskScoreAlgorithmSpi.java │ │ │ │ ├── StoredRiskFactory.java │ │ │ │ ├── StoredRiskProvider.java │ │ │ │ └── StoredRiskSpi.java │ │ │ ├── evaluator │ │ │ │ ├── AbstractContinuousRiskEvaluator.java │ │ │ │ ├── AbstractRiskEvaluator.java │ │ │ │ ├── ContinuousRiskEvaluator.java │ │ │ │ ├── RiskEvaluator.java │ │ │ │ ├── RiskEvaluatorFactory.java │ │ │ │ └── RiskEvaluatorSpi.java │ │ │ └── level │ │ │ │ ├── RiskLevel.java │ │ │ │ ├── RiskLevelsFactory.java │ │ │ │ ├── RiskLevelsProvider.java │ │ │ │ └── RiskLevelsSpi.java │ │ │ └── ui │ │ │ └── RiskBasedPoliciesUiTab.java │ └── resources │ │ ├── META-INF │ │ ├── quarkus-extension.yaml │ │ └── services │ │ │ ├── io.github.mabartos.spi.ai.AiEngineFactory │ │ │ ├── io.github.mabartos.spi.condition.UserContextConditionFactory │ │ │ ├── io.github.mabartos.spi.context.UserContextFactory │ │ │ ├── io.github.mabartos.spi.engine.RiskEngineFactory │ │ │ ├── io.github.mabartos.spi.engine.RiskScoreAlgorithmFactory │ │ │ ├── io.github.mabartos.spi.engine.StoredRiskFactory │ │ │ ├── io.github.mabartos.spi.evaluator.RiskEvaluatorFactory │ │ │ ├── io.github.mabartos.spi.level.RiskLevelsFactory │ │ │ ├── org.keycloak.authentication.AuthenticatorFactory │ │ │ ├── org.keycloak.events.EventListenerProviderFactory │ │ │ ├── org.keycloak.provider.Spi │ │ │ └── org.keycloak.services.ui.extend.UiTabProviderFactory │ │ ├── adaptive-realm.json │ │ ├── application.properties │ │ ├── beans.xml │ │ ├── keycloak.conf │ │ └── theme-resources │ │ └── templates │ │ └── recaptcha-risk-evaluator.ftl │ └── test │ └── java │ └── io │ └── github │ └── mabartos │ ├── context │ ├── UserContextTest.java │ ├── ip │ │ └── IpAddressUtilsTest.java │ └── location │ │ └── LocationDataTest.java │ ├── engine │ ├── RiskEngineTest.java │ └── WeightedAvgRiskAlgorithmTest.java │ ├── evaluator │ ├── RiskEvaluatorTest.java │ ├── browser │ │ └── BrowserRiskEvaluatorTest.java │ ├── location │ │ └── LocationRiskEvaluatorTest.java │ └── login │ │ └── LoginFailuresRiskEvaluatorTest.java │ └── level │ ├── RiskTest.java │ └── WeightTest.java ├── deployment ├── pom.xml └── src │ └── main │ └── java │ └── io │ └── github │ └── mabartos │ └── KeycloakAdaptiveAuthnProcessor.java ├── docs ├── img │ ├── chat-gpt-logo.png │ ├── credits.txt │ ├── github-risk-engine.png │ ├── ibm-granite.png │ └── keycloak-adaptive-colored.png └── start.md ├── mvnw ├── mvnw.cmd ├── pom.xml ├── set-version.sh └── tests ├── pom.xml └── src └── test ├── java └── io │ └── github │ └── mabartos │ └── BasicAdaptiveAuthnTest.java └── resources ├── keycloak-test.properties └── test-adaptive-realm.json /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/CI.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/.github/workflows/CI.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/README.md -------------------------------------------------------------------------------- /core/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/pom.xml -------------------------------------------------------------------------------- /core/src/main/assembly/assembly.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/assembly/assembly.xml -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ai/AiEngineUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ai/AiEngineUtils.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ai/DefaultAiDataRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ai/DefaultAiDataRequest.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ai/DefaultAiDataResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ai/DefaultAiDataResponse.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ai/DefaultAiRiskData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ai/DefaultAiRiskData.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ai/granite/GraniteAiEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ai/granite/GraniteAiEngine.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ai/granite/GraniteAiEngineFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ai/granite/GraniteAiEngineFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ai/openai/OpenAiEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ai/openai/OpenAiEngine.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ai/openai/OpenAiEngineFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ai/openai/OpenAiEngineFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/UserContexts.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/UserContexts.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/browser/BrowserCondition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/browser/BrowserCondition.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/browser/BrowserConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/browser/BrowserConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/browser/DefaultBrowsers.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/browser/DefaultBrowsers.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/device/DefaultDeviceContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/device/DefaultDeviceContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/device/DefaultDeviceContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/device/DefaultDeviceContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/device/DeviceContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/device/DeviceContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/IpAddressCondition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/IpAddressCondition.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/IpAddressConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/IpAddressConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/IpAddressUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/IpAddressUtils.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/DefaultIpAddress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/DefaultIpAddress.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/DefaultIpAddressFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/DefaultIpAddressFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/DeviceIpAddressContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/DeviceIpAddressContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/DeviceIpAddressContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/DeviceIpAddressContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/HeaderIpAddressContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/HeaderIpAddressContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/HeaderIpAddressContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/HeaderIpAddressContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/IpAddressContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/IpAddressContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/TestIpAddressContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/TestIpAddressContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/client/TestIpAddressContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/client/TestIpAddressContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/proxy/IpProxyContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/proxy/IpProxyContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/proxy/ProxyIpAddressContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/proxy/ProxyIpAddressContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/ip/proxy/ProxyIpAddressContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/ip/proxy/ProxyIpAddressContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/location/IpApiLocationContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/location/IpApiLocationContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/location/IpApiLocationContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/location/IpApiLocationContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/location/IpApiLocationData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/location/IpApiLocationData.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/location/LocationCondition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/location/LocationCondition.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/location/LocationConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/location/LocationConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/location/LocationContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/location/LocationContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/location/LocationData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/location/LocationData.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/os/DefaultOperatingSystems.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/os/DefaultOperatingSystems.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/os/OperatingSystemCondition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/os/OperatingSystemCondition.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/os/OperatingSystemConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/os/OperatingSystemConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/os/PhoneCondition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/os/PhoneCondition.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/os/PhoneConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/os/PhoneConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/user/KcLoginEventsContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/user/KcLoginEventsContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/user/KcLoginEventsContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/user/KcLoginEventsContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/user/KcLoginFailuresEventsContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/user/KcLoginFailuresEventsContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/user/KcLoginFailuresEventsContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/user/KcLoginFailuresEventsContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/user/KcUserRoleContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/user/KcUserRoleContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/user/KcUserRoleContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/user/KcUserRoleContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/user/LoginEventsContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/user/LoginEventsContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/context/user/UserRoleContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/context/user/UserRoleContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/engine/AuthnSessionStoredRiskFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/engine/AuthnSessionStoredRiskFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/engine/AuthnSessionStoredRiskProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/engine/AuthnSessionStoredRiskProvider.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/engine/DefaultRiskEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/engine/DefaultRiskEngine.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/engine/DefaultRiskEngineFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/engine/DefaultRiskEngineFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/engine/LoginEventsEventListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/engine/LoginEventsEventListener.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/engine/LoginEventsEventListenerFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/engine/LoginEventsEventListenerFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/engine/WeightedAvgRiskAlgorithm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/engine/WeightedAvgRiskAlgorithm.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/engine/WeightedAvgRiskAlgorithmFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/engine/WeightedAvgRiskAlgorithmFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/EvaluatorUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/EvaluatorUtils.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/RiskEvaluatorAuthenticator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/RiskEvaluatorAuthenticator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/RiskEvaluatorAuthenticatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/RiskEvaluatorAuthenticatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/behavior/UserActionsRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/behavior/UserActionsRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/behavior/UserActionsRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/behavior/UserActionsRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/browser/BrowserRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/browser/BrowserRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/browser/BrowserRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/browser/BrowserRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/device/AiDeviceRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/device/AiDeviceRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/device/AiDeviceRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/device/AiDeviceRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/location/LocationRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/location/LocationRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/location/LocationRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/location/LocationRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/login/AiLoginFailuresRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/login/AiLoginFailuresRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/login/AiLoginFailuresRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/login/AiLoginFailuresRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/login/AiTimeAccessRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/login/AiTimeAccessRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/login/AiTimeAccessRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/login/AiTimeAccessRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/login/LoginEventIpAddressRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/login/LoginEventIpAddressRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/login/LoginEventIpAddressRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/login/LoginEventIpAddressRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/login/LoginFailuresRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/login/LoginFailuresRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/login/LoginFailuresRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/login/LoginFailuresRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/os/OperatingSystemRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/os/OperatingSystemRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/os/OperatingSystemRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/os/OperatingSystemRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/recaptcha/RecaptchaAuthenticatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/recaptcha/RecaptchaAuthenticatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/recaptcha/RecaptchaRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/recaptcha/RecaptchaRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/recaptcha/RecaptchaRiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/recaptcha/RecaptchaRiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/role/DefaultUserRoleEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/role/DefaultUserRoleEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/evaluator/role/DefaultUserRoleEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/evaluator/role/DefaultUserRoleEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/AbstractRiskLevelConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/AbstractRiskLevelConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/AdvancedRiskLevelsConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/AdvancedRiskLevelsConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/AdvancedRiskLevelsFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/AdvancedRiskLevelsFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/AdvancedRiskLevelsProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/AdvancedRiskLevelsProvider.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/Risk.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/Risk.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/RiskLevelCondition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/RiskLevelCondition.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/SimpleRiskLevel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/SimpleRiskLevel.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/SimpleRiskLevelConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/SimpleRiskLevelConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/SimpleRiskLevelsFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/SimpleRiskLevelsFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/SimpleRiskLevelsProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/SimpleRiskLevelsProvider.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/level/Weight.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/level/Weight.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/ai/AiEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/ai/AiEngine.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/ai/AiEngineFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/ai/AiEngineFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/ai/AiEngineSpi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/ai/AiEngineSpi.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/ai/AiRiskEvaluatorMessages.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/ai/AiRiskEvaluatorMessages.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/condition/DefaultOperation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/condition/DefaultOperation.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/condition/Operation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/condition/Operation.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/condition/OperationsBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/condition/OperationsBuilder.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/condition/UserContextCondition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/condition/UserContextCondition.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/condition/UserContextConditionFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/condition/UserContextConditionFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/condition/UserContextConditionSpi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/condition/UserContextConditionSpi.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/condition/VerifiableUserContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/condition/VerifiableUserContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/context/AbstractUserContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/context/AbstractUserContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/context/UserContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/context/UserContext.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/context/UserContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/context/UserContextFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/context/UserContextSpi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/context/UserContextSpi.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/ConfigurableRequirements.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/ConfigurableRequirements.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/RiskEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/RiskEngine.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/RiskEngineFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/RiskEngineFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/RiskEngineSpi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/RiskEngineSpi.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/RiskScoreAlgorithm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/RiskScoreAlgorithm.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/RiskScoreAlgorithmFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/RiskScoreAlgorithmFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/RiskScoreAlgorithmSpi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/RiskScoreAlgorithmSpi.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/StoredRiskFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/StoredRiskFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/StoredRiskProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/StoredRiskProvider.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/engine/StoredRiskSpi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/engine/StoredRiskSpi.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/evaluator/AbstractContinuousRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/evaluator/AbstractContinuousRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/evaluator/AbstractRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/evaluator/AbstractRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/evaluator/ContinuousRiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/evaluator/ContinuousRiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/evaluator/RiskEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/evaluator/RiskEvaluator.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/evaluator/RiskEvaluatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/evaluator/RiskEvaluatorFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/evaluator/RiskEvaluatorSpi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/evaluator/RiskEvaluatorSpi.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/level/RiskLevel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/level/RiskLevel.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/level/RiskLevelsFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/level/RiskLevelsFactory.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/level/RiskLevelsProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/level/RiskLevelsProvider.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/spi/level/RiskLevelsSpi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/spi/level/RiskLevelsSpi.java -------------------------------------------------------------------------------- /core/src/main/java/io/github/mabartos/ui/RiskBasedPoliciesUiTab.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/java/io/github/mabartos/ui/RiskBasedPoliciesUiTab.java -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/quarkus-extension.yaml -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/io.github.mabartos.spi.ai.AiEngineFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/io.github.mabartos.spi.ai.AiEngineFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/io.github.mabartos.spi.condition.UserContextConditionFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/io.github.mabartos.spi.condition.UserContextConditionFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/io.github.mabartos.spi.context.UserContextFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/io.github.mabartos.spi.context.UserContextFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/io.github.mabartos.spi.engine.RiskEngineFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/io.github.mabartos.spi.engine.RiskEngineFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/io.github.mabartos.spi.engine.RiskScoreAlgorithmFactory: -------------------------------------------------------------------------------- 1 | io.github.mabartos.engine.WeightedAvgRiskAlgorithmFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/io.github.mabartos.spi.engine.StoredRiskFactory: -------------------------------------------------------------------------------- 1 | io.github.mabartos.engine.AuthnSessionStoredRiskFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/io.github.mabartos.spi.evaluator.RiskEvaluatorFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/io.github.mabartos.spi.evaluator.RiskEvaluatorFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/io.github.mabartos.spi.level.RiskLevelsFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/io.github.mabartos.spi.level.RiskLevelsFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/org.keycloak.authentication.AuthenticatorFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/org.keycloak.authentication.AuthenticatorFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/org.keycloak.provider.Spi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/META-INF/services/org.keycloak.provider.Spi -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/org.keycloak.services.ui.extend.UiTabProviderFactory: -------------------------------------------------------------------------------- 1 | io.github.mabartos.ui.RiskBasedPoliciesUiTab -------------------------------------------------------------------------------- /core/src/main/resources/adaptive-realm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/adaptive-realm.json -------------------------------------------------------------------------------- /core/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/application.properties -------------------------------------------------------------------------------- /core/src/main/resources/beans.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/main/resources/keycloak.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/keycloak.conf -------------------------------------------------------------------------------- /core/src/main/resources/theme-resources/templates/recaptcha-risk-evaluator.ftl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/main/resources/theme-resources/templates/recaptcha-risk-evaluator.ftl -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/context/UserContextTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/context/UserContextTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/context/ip/IpAddressUtilsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/context/ip/IpAddressUtilsTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/context/location/LocationDataTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/context/location/LocationDataTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/engine/RiskEngineTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/engine/RiskEngineTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/engine/WeightedAvgRiskAlgorithmTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/engine/WeightedAvgRiskAlgorithmTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/evaluator/RiskEvaluatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/evaluator/RiskEvaluatorTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/evaluator/browser/BrowserRiskEvaluatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/evaluator/browser/BrowserRiskEvaluatorTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/evaluator/location/LocationRiskEvaluatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/evaluator/location/LocationRiskEvaluatorTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/evaluator/login/LoginFailuresRiskEvaluatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/evaluator/login/LoginFailuresRiskEvaluatorTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/level/RiskTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/level/RiskTest.java -------------------------------------------------------------------------------- /core/src/test/java/io/github/mabartos/level/WeightTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/core/src/test/java/io/github/mabartos/level/WeightTest.java -------------------------------------------------------------------------------- /deployment/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/deployment/pom.xml -------------------------------------------------------------------------------- /deployment/src/main/java/io/github/mabartos/KeycloakAdaptiveAuthnProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/deployment/src/main/java/io/github/mabartos/KeycloakAdaptiveAuthnProcessor.java -------------------------------------------------------------------------------- /docs/img/chat-gpt-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/docs/img/chat-gpt-logo.png -------------------------------------------------------------------------------- /docs/img/credits.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/docs/img/credits.txt -------------------------------------------------------------------------------- /docs/img/github-risk-engine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/docs/img/github-risk-engine.png -------------------------------------------------------------------------------- /docs/img/ibm-granite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/docs/img/ibm-granite.png -------------------------------------------------------------------------------- /docs/img/keycloak-adaptive-colored.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/docs/img/keycloak-adaptive-colored.png -------------------------------------------------------------------------------- /docs/start.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/docs/start.md -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/pom.xml -------------------------------------------------------------------------------- /set-version.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/set-version.sh -------------------------------------------------------------------------------- /tests/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/tests/pom.xml -------------------------------------------------------------------------------- /tests/src/test/java/io/github/mabartos/BasicAdaptiveAuthnTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/tests/src/test/java/io/github/mabartos/BasicAdaptiveAuthnTest.java -------------------------------------------------------------------------------- /tests/src/test/resources/keycloak-test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/tests/src/test/resources/keycloak-test.properties -------------------------------------------------------------------------------- /tests/src/test/resources/test-adaptive-realm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mabartos/keycloak-adaptive-authn/HEAD/tests/src/test/resources/test-adaptive-realm.json --------------------------------------------------------------------------------