Coder Social home page Coder Social logo

camfindlay / silverstripe-twofactorauth Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 10.0 180 KB

Enable two factor authentication (Timed One-Time Password) for SilverStripe CMS using QR codes.

License: Other

PHP 79.74% CSS 4.90% JavaScript 5.96% Scheme 9.39%

silverstripe-twofactorauth's Introduction

Two factor authentication for SilverStripe CMS

Build Status Code Quality Code Coverage Version License

Enable two factor authentication (Timed One-Time Password) for SilverStripe CMS using QR codes.

screen shot 2017-06-20 at 15 37 38

Requirements

  • SilverStripe Framework (v4)
  • OATH-OTP Implementation for PHP by rych
  • Endroid QR Code

Installation

composer require camfindlay/silverstripe-twofactorauth

Documentation

Configuration

See Configuration documentation

User guide

See User guide documentation

Maintainers

Contributing

See Contributing documentation and license agreement

Changelog

See Module releases

License

Code is license under the BSD 3-Clause Open Source license. See License

silverstripe-twofactorauth's People

Contributors

althegreat24 avatar camfindlay avatar mandy-kate avatar micschk avatar oddnoc avatar stephenmcm avatar wilr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

silverstripe-twofactorauth's Issues

Feature:: Front end enabled 2fa

Suggested feature for this module:

Extend the module so that two factor authentication can be managed by users in the front end

This feature would be separate from the current CMS 'My profile', but would provide a similar experience with users being able to turn 2fa on and off and generate tokens etc without signing into the CMS

Instead of: data.govt.nz/admin/myprofile/
We have: data.govt.nz/myprofile

Update for use on SilverStripe 4

Just thinking about updating this module for SS4 use. What is going to be required?

Some items off top of my head are:

  • Update namespaces.
  • Update code to PSR-2 compliance.
  • Check for any conflicting class names/reserved names.
  • Write tests and test against php 5.6 and php7.
  • Restructure folders (seems to be a move to 'src' vs 'code' folder - up for debate though).
  • Improved user docs
  • A way for users of past 2fa module and SS3 to migrate to SS4 and new 2fa module version

Anything else?

Localization

The translation key for enable or disable 2FA ist the same. No way to translate it. See CMSProfileControler::getEditForm()
Key is TWOFACTOR.ACTIVATE2FA twice. Second should probably be DEACTIVATE2FA

Create a branch for the SilverStripe3.x compatible version

Take current master and make a branch called "2" for the 2.x.x version of this module (SilverStripe 3.x compatible).

That way when the SilverStripe 4.x compatible version is merged to master those needing bug fixes/ss3.x compat version have a workable branch.

Away from dev machine current;y, otherwise it's action now :)

CC/ @oddnoc

User may get trapped in security code form

Once the session gets set to require the security code (step 2), there's currently no way to get back to the initial email/password form. There could be a 'cancel' action on the security code form to reset the session.

Login Form not translatable

The Loginform ist not translatable. _2fa\LoginHandler\secondStepForm() should be translatable. Can be injected but translation keys would be better maybe

Regeneration of token on change of Has2FA could be optional/configurable

Use case: we have a situation where users are testing the 2FA functionality and are locking themselves out because the token automagically changes between switching off & on again (this is not obvious for the user).

We would like to trigger a key update based on other factors than switching off & on (probably a more deliberate user-interaction like a 'regenerate key' button. Therefore, we'd like to submit a PR making the auto-regeneration a configurable option for more flexibility.

Issue with the install

Installing with "composer require camfindlay/silverstripe-twofactorauth" gets the following error

"Package endroid/qrcode is abandoned, you should avoid using it. Use endroid/qr-code instead"

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.