DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:twofactor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revision
plugin:twofactor [2018-06-27 00:25]
wilminator Added authentication issue code to module.
plugin:twofactor [2018-10-22 08:33]
wilminator New bugfix release
Line 6: Line 6:
 email      : michael.wilmes@gmail.com  email      : michael.wilmes@gmail.com 
 type       : Action Admin type       : Action Admin
-lastupdate : 2018-06-26 +lastupdate : 2018-10-22 
-compatible : 2015-08-10a "Detritus", 2016-06-26 "Elenor Of Tsort", 2017-02-19b "Frusterick Manners"+compatible : 2015-08-10a "Detritus", 2016-06-26 "Elenor Of Tsort", 2017-02-19b "Frusterick Manners", 2018-04-22 "Greebo"
 depends    : attribute depends    : attribute
 conflicts  conflicts 
Line 23: Line 23:
 ===== Summary ===== ===== Summary =====
  
-This module provides a two factor authentication framework to a wiki. It is designed to work with any wiki-based authentication mechanism (sorry Apache authentication users, I have not tested it for you). This module requires at least one Two Factor authentication module (listed below) in order to work.+This module provides a two factor authentication framework to a wiki. It is designed to work with any wiki-based authentication mechanism that supports the 'getUsers' method (see below for additional information). This module requires at least one Two Factor authentication module (listed below) in order to work.
  
-===== MAJOR REVISION =====+===== ANOTHER MAJOR REVISION =====
  
-As of 2016-01-06, I have completely overhauled this module and in order to use it you **will** need to add at least one supporting module. The benefit is that new modules can be added or updated without impacting other modules.+As of 2018-06-28, I have changed one of the methods in this module that breaks all prior versions of child modules.  I have updated all the modules, so as long as you update ALL twofactor modules, this should not be an issue.
  
 ===== Installation ===== ===== Installation =====
Line 76: Line 76:
   * ''enable'' -- Turn on or off all two factor authentication functionality. Default: ''off''   * ''enable'' -- Turn on or off all two factor authentication functionality. Default: ''off''
   * ''optinout'' -- Configure two factor features as ''optin'', ''optout'', and ''mandatory''. Default: ''optin''   * ''optinout'' -- Configure two factor features as ''optin'', ''optout'', and ''mandatory''. Default: ''optin''
-  * ''otpcontent'' -- The message to deliver to the user.'' $otp'' is replaced with the randomly generated code. Default: ''$otp'' is your verification code.+  * ''otpsubject'' -- A subject for OTP messages sent to the user. Default: OTP Verification Code 
 +  * ''otpcontent'' -- The message to deliver to the user. ''$otp'' is replaced with the randomly generated code. Default: ''$otp'' is your verification code.
   * ''generatorexpiry'' -- How many windows of time a GA code is valid for. This setting allows for a code to be useful for longer than its display time in GA. Very helpful for slow typing users of if a code is seen at the end of its display time. Default: ''2'' (the time displayed plus one more code)   * ''generatorexpiry'' -- How many windows of time a GA code is valid for. This setting allows for a code to be useful for longer than its display time in GA. Very helpful for slow typing users of if a code is seen at the end of its display time. Default: ''2'' (the time displayed plus one more code)
   * ''otplength'' -- Length of the randomly generated OTP. Default: ''7''   * ''otplength'' -- Length of the randomly generated OTP. Default: ''7''
   * ''sentexpiry'' -- Time in minutes that a sent OTP is valid for. Default: ''5''   * ''sentexpiry'' -- Time in minutes that a sent OTP is valid for. Default: ''5''
   * ''loginnotice'' (Not working yet) -- Send a notice on successful login to the user. Options are never (''none''), user choice (''user''), and always send a message (always). Default: ''user''   * ''loginnotice'' (Not working yet) -- Send a notice on successful login to the user. Options are never (''none''), user choice (''user''), and always send a message (always). Default: ''user''
 +  * ''loginsubject'' -- A subject for login confirmation messages sent to the user. Default: Login Successful 
 +  * ''logincontent'' -- The login message to deliver to the user.'' $time'' is replaced with the time  as generated by ''date(RFC_2822)''. Default: Your account was logged into at ''$time''
 +  * ''refreshexpiry'' -- A second login cookie is set by twofactor after the user has completed teh second login. This is the server-side timeout for that cookie, in minutes. Must be between 5 and 1440 minutes. Default: ''240'' 
 +  * ''logging_level'' -- Sets the logging level of the module. Supports five options: ''None'', ''Audit'', ''Audit+'', ''Debug'', and ''Debug+'' The ''Audit'' settings are appropriate as a login/logoff audit trail. ''Debug'' settings can be sent to me to assist in debugging. The "'Debug+' option will also provide stack traces.  The log file is intended to be CSV friendly. Default: ''None'' 
 +  * ''logging_path'' -- Path and filename of the log file written. Relative paths default to the wiki data directory. Absolute paths are honored to the extent PHP permits.  Default: ''2fa_audit.txt''
 ===== Development ===== ===== Development =====
  
Line 88: Line 93:
 ==== API ==== ==== API ====
  
-**NOTEWork In Progress** +The [[https://github.com/wilminator/dokuwiki-plugin-twofactor/blob/master/authmod.php|authmod.php]] file in the module is the base abstract class that can be used to add a custom authentication module Please review the file to learn more.
- +
-I am going to document the Two Factor module API here in order to provide all information about this plugin in one placeI am open to suggestions if a better location can be found.+
  
-=== Change Log ===+==== Change Log ====
  
 {{rss>https://github.com/wilminator/dokuwiki-plugin-twofactor/commits/master.atom date}} {{rss>https://github.com/wilminator/dokuwiki-plugin-twofactor/commits/master.atom date}}
  
-=== Known Bugs and Issues ===+==== Known Bugs and Issues ====
  
-  * The login notification does not work yet.+  * None that I'm aware of.  Visit the GitHub page for each of the modules for more information (or to let me know that something is broken).
  
-=== ToDo/Wish List ===+==== ToDo/Wish List ====
  
   * I've had a request to add Twilio and Plivo as supported two factor resources. After the redesign, I will look into it. I will need some help for testing, my personal budget is zero dollars and zilch cents.   * I've had a request to add Twilio and Plivo as supported two factor resources. After the redesign, I will look into it. I will need some help for testing, my personal budget is zero dollars and zilch cents.
plugin/twofactor.txt · Last modified: 2021-01-22 17:48 by tmomas