===== DokuWiki Yubikey Auth Module ===== ---- dataentry project ---- Name_ : DokuWiki Yubikey Auth Module Tags_tags : web, dokuwiki, auth, module Description_ : Auth module for Dokuwiki that extends Plaintext auth to support Yubikey validation Last Update_dt : 2011-12-10 ---- There is a glaring bug in this module which causes a user to become signed out after a short period of time. I have begun rewriting this to follow a similar format to the OpenID plugin (using a plugin instead of an Auth module). **This method is outdated, please see the project at [[:projects/web/dokuwiki-plugin-yubikey]]** ===== Overview: ===== This project implements an extension to the Plaintext authentication module provided by Dokuwiki, which allows a user to optionally use their Yubikey OTP to authenticate instead of their password. ===== Installation ===== Installation is quite simple. First you must download and verify the release package (specified in the releases section of this page). Next extract the package on top of your DokuWiki installation directory (we'll assume it's //${DOKU}// and the path to the release package is //${yubi}//). unzip ${yubi} -d ${DOKU} Next you need to replace the YubiKey API ID with your own in order to communicate with the YubiKey servers. Open the file //inc/auth/yubikey.class.php// and change where //AUTH_YUBIKEY_API_ID// is set to //-1// to be set to your personal API ID. ===== Configuration ===== ==== Backend ==== The backend will be enabled with the [[doku>config:authtype]] configuration option $conf['authtype'] = "yubikey"; (this should be in your //conf/local.php//) ==== Users and Passwords ==== The yubikey auth module extends the default [[doku>auth:plain]] module, so configuration, addition, and deletion of users is done through that module. (this should be done in //conf/users.auth.php//) ==== Yubikeys ==== Yubikey IDs are associated to users in a file format similar to the plain auth module's //users.auth.php//. Empty lines, and everything after a ''#'' character are ignored. Each line contains a colon separated array of 2 fields which are: * **Login** - This has to be a valid login. * **Yubikeys** - Comma separated list of Yubikey OTP IDs (the first 12 characters when a Yubikey enters its OTP. Example: myuser:vvjdrjbfgtcd,vvlrndlkkkck (this should be done in //conf/yubikey.auth.php//) ===== Source ===== Source for this module can be found on github: [[http://github.com/cvpcs/dokuwiki_auth_yubikey]] ===== Releases ===== The latest source can always be downloaded from this location: [[https://github.com/cvpcs/dokuwiki_auth_yubikey/zipball/master|dokuwiki_auth_yubikey-latest.zip]]