crashdog wrote:
Hello,
I just recevied my yubikey neo some days ago and tried to used it today. The demo page "demo.yubico.com/start/u2f" apprears to work correctly.
However, trying to activate it for the joomla 3 administartor page hasn't succeeded yet. I've googled and searched the forum but couldn't find a working solution yet.
My approach:
- installing the chrome plugin requested on the U2F demoe page.
- running the U2F demo page (works).
- Logging in as admin to the joomla backend.
- enabling "Two Factor Authentication - Yubikey"
- disabling "Authentication - Joomla", "Authentication Gmail", "Authentication Cookie", "Authentication - LDAP" and "Two Factor Authetication - Google Authenticator"
- opening the user manager "Two Factor Authentication" tab
- Choosing "Yubikey"
- clicking on the "Secutiry Code" textfield
- pushing the Yukikey touch area on the USB stick for ca 1 second.
- clicking on the save button.
The browser then hangs on a whitepage forever. When after a while, trying to manually reload the page I get an error message on the screen:
"Error
You did not enter a valid YubiKey secret code or the YubiCloud servers are unreachable at this time."
and when logging out of joomla and trying to log back in I get this error message:
"Warning
JAuthentication: :__construct: Could not load authentication libraries."
The only way to fix it is to re-enable joomla authentication in mysql.
Haven't worked in Joomla since the 1.x days... my life is pretty much 100% Drupal... but I'll take a stab. I'm
cribbing from this blog post, which seems fairly current.
First... My understanding is (and, again, more knowledgeable Joomla people can help me out) is that the normal YubiKey Two Factor Authentication in Joomla uses the classic YubiKey One Time Password (Classic OTP) codes. Classic OTP codes look like "cccjgjgkhcbbirdrfdnlnghhfgrtnnlgedjlftrbdeut". This is
not Fido U2F. I think there are Fido U2F modules out there in beta, but the normal Joomla one is Classic OTP. Your description leads me to think you're dealing with the Classic OTP in Joomla.
Your Neo does both U2F and classic OTP (and much more). Verify the classic mode
here.
Second... the YubiKey is (almost always) a "second factor in authentication", not an authentication system in itself. You'll still normally have a name and password... the YubiKey is
additional. You probably will want to leave "Authentication - Joomla" on (and probably "Authentication cookie" too). It is conceivable to set up an authentication system where you don't type in any username or password... the YubiKey is the only method of authentication. This is almost certainly not what you are wanting and is probably not something the Joomla module allows.
Third, if you do go the YubiKey Classic OTP route with validation by YubiCo's free validation service (which
is probably what you're looking for), you'll have one more step. You need to request an
"API ID/Secret Key" from YubiCo. This is just a key to verify that you aren't using their validation service maliciously. You'll probably have to copy the API ID/Key you get from YubiCo into your Joomla setup (Plugin Manager > Authentication - Yubikey ???).
One advantage of Classic OTP over Fido U2F... it will work on any system (since it's just emulating a USB keyboard), not just Chrome with the plugin. In a few years I expect the newer Fido 2FA to be very common in Joomla/Drupal/WordPress installs (and work in more browsers), but nothing is wrong with using the classic OTP for now.