Giter Site home page Giter Site logo

rickbakkr / twofactor_gauthenticator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexandregz/twofactor_gauthenticator

0.0 2.0 0.0 1.09 MB

This RoundCube plugin adds the Google 2-steps verification to the login proccess.

License: GNU General Public License v2.0

JavaScript 16.24% PHP 83.76%

twofactor_gauthenticator's Introduction

2Steps verification

This RoundCube plugin adds the 2-step verification(OTP) to the login proccess.

It works with all TOTP applications RFC 6238

Some code by: Ricardo Signes Justin Buchanan Ricardo Iván Vieitez Parra

GoogleAuthenticator class by Michael Kliewe (to see secrets)

qrcode.js by ShimSangmin

Also thx to Victor R. Rodriguez Dominguez for some ideas and support

Login

2Steps

Installation

Configuration

Go to the Settings task and in the "2steps Google verification" menu, click 'Setup all fields (needs Save)'.

The plugin automatically creates the secret for you.

To add accounts to the app, you can use the QR-Code (easy-way) or type the secret. After checking thje first code click 'Save'.

Settings by default

Settings OK

QR-Code example

Also, you can add "Recovery codes" for use one time (they delete when are used). Recovery codes are OPTIONAL, so they can be left blank.

Recovery codes

Check codes

Recovery codes

Enrollment Users

If config value force_enrollment_users is true, ALL users needs to login with 2-step method. They receive alert message about that, and they can't skip without save configuration

Samefield

If config value 2step_codes_on_login_form is true, 2-step codes (and recovery) must be sended with password value, append to this, from the login screen: "Normal" codes just following password (passswordCODE), recovery codes after two pipes (passsword||RECOVERYCODE)

Actually only into samefield branch

Codes

Codes have a 2*30 seconds clock tolerance, like by default with Google app (Maybe editable in future versions)

License

GPLv2, see License

Notes

Tested with RoundCube 0.9.5 and Google app. Also with Roundcube 1.0.4

Remember, sync time it's essential for TOTP: "For this to work, the clocks of the user's device and the server need to be roughly synchronized (the server will typically accept one-time passwords generated from timestamps that differ by ±1 from the client's timestamp)" (from http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm)

Author

Alexandre Espinosa Menor [email protected]

Issues

Open issues using github, don't send me emails about that, please -usually Gmail marks messages like SPAM

Testing

You can use https://github.com/alexandregz/vagrant-twofactor_gauthenticator

Using with Kolab

Add a symlink into the public_html/assets directory

Show explained alexandregz#29 (comment) by https://github.com/d7415

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.