<div dir="ltr"><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">Hi Petr,</div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif"><br></div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">Thanks for the response. But my question was more towards the cases where there is a slight delay in entering the OTP in the web UI and it reaching the IPA server. This actually can happen with ANY time window.</div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif"><br></div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">There are couple of scenarios. </div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif"><br></div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">1. Network delays. </div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">2. User enters the OTP token and takes a few seconds before pressing submit. </div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">3. User has to enter OTP first and then the password. This is the case when changing password in IPA at the moment when OTP is on. </div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif"><br></div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">Is there a way to make IPA honor either the current token (obviously!) or 1 elapsed token?</div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif"><br></div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">This will go a long way in making FreeIPA's OTP implementation much more usable.</div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif"><br></div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">Thanks.</div><div class="gmail_default" style="font-family:'trebuchet ms',sans-serif">--Prashant</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 25 April 2016 at 21:48, Petr Vobornik <span dir="ltr"><<a href="mailto:pvoborni@redhat.com" target="_blank">pvoborni@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 04/22/2016 08:55 AM, Prashant Bapat wrote:<br>
> Hi,<br>
><br>
> We have been using the OTP feature of FreeIPA extensively for users to login to<br>
> the web UI. Now we are rolling out an external service using the LDAP<br>
> authentication based on FreeIPA and OTP.<br>
><br>
> End users typically login rarely to the web UI. Only to update their SSH keys<br>
> once in 90 days.<br>
><br>
> However to the new service based on FreeIPA's LDAP they would be logging in<br>
> multiple times daily.<br>
><br>
> Here is an observation: FreeIPA's OTP mechanism is very stringent in requiring<br>
> the current token to be inside the 30 second window. Because of this there might<br>
> be a sizable percentage of users who will have to retry login. Obviously, this<br>
> is a bad user experience.<br>
><br>
</span>> As per the RFC-6238 <<a href="http://www.rfc-base.org/txt/rfc-6238.txt" rel="noreferrer" target="_blank">http://www.rfc-base.org/txt/rfc-6238.txt</a>> section 5.2, we<br>
<span class="">> could allow 1 time step and make the user experience better.<br>
><br>
> Can this be done by changing a config or does it involve a patch/code-change.<br>
> Any pointers to this appreciated.<br>
><br>
> Thanks.<br>
> --Prashant<br>
><br>
<br>
</span>FreeIPA works with both time based OTP tokens(TOTP) and counter based<br>
OTP tokens(HOTP). TOTP uses 30s time interval by default. Administrator<br>
can set custom clock interval during creation of a token. But<br>
self-service Web UI doesn't show this option. Users can still use it in<br>
CLI though.<br>
<br>
Alternative is HOTP which doesn't use time interval and there the UX<br>
issue is not there. It can be also created in user self service.<br>
<span class="HOEnZb"><font color="#888888">--<br>
Petr Vobornik<br>
</font></span></blockquote></div><br></div>