<div dir="ltr"><div>Hello group, </div><div><br></div><div>I just add a look at a nice feature from Forge Rock AM called:</div><div>&quot;Adaptive risk login&quot;.</div><div><br></div><div>From the book &quot;Open Source Identity Management Patterns using OpenAM 10.x&quot;:</div><div>&quot;Adaptive Risk authentication allows OpenAM to determine the risk of a particular</div><div>authentication, and decide whether additional authentication steps are required due</div><div>to the risk.&quot;</div><div><br></div><div>&quot;The Adaptive Risk module has a risk threshold that is set manually, and by default</div><div>is set to 1 . There are a variety of different authentication risks which are each</div><div>given a score. If the value of the score meets or exceeds the risk threshold, then the</div><div>authentication fails.&quot;</div><div><br></div><div>- Risk Threshold exceeded - if inherent risk for a particular (client login) exceeds theshold</div><div>- Failed Authentications - if user had failed authentications recently raise risk</div><div>- IP Address Range - ip IP not in IP range raise risk</div><div>- IP Address History - if IP not in IP address history raise risk</div><div>- Known cookie - if a certain cookie + value not present raise risk</div><div>- Device cookie - if not a known or trusted device raise risk</div><div>- Time since last login - if last login &gt; x days raise risk</div><div>- Profile attribute - if a profile (user) attribute is set raise risk</div><div>- GeoLocation - if IP geolocation based on <a href="http://www.maxmind.com/app/country">http://www.maxmind.com/app/country</a> is not from a certain area raise risk</div><div>- RequestHeader - if certain request header is not present raise risk</div><div><br></div><div>These checks can be combined / inverted which provides one with a flexible system to specify rules.</div><div><br></div><div>I think a functionality like that would be great addition to Keycloak. Some of this </div><div>functionality is already partially possible with Keycloak but only for some authenticators.</div><div>Would be great to have more general support in that regard.</div><div><br></div><div>Cheers,</div><div>Thomas</div></div>