diff --git a/CHANGELOG.md b/CHANGELOG.md index 9833a42..ec7d996 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # CHANGELOG ## 1.0.14 - Work in progress +- Enh #56: Added two factor authentication (tonydspaniard) - Fix #63: Fix selectize version (tonydspaniard) - Enh #65: Updated Romanian translation (mrbig00) - Enh #61: Updated Russian translation (faenir) diff --git a/composer.json b/composer.json index 4d0f737..11b3985 100644 --- a/composer.json +++ b/composer.json @@ -47,10 +47,12 @@ "prefer-stable": true, "require": { "php": ">=5.5", - "2amigos/yii2-selectize-widget": "~1.1", + "2amigos/yii2-selectize-widget": "^1.1", "yiisoft/yii2-authclient": "^2.1.0", "yiisoft/yii2-bootstrap": "^2.0.0", - "yiisoft/yii2-swiftmailer": "^2.0.0" + "yiisoft/yii2-swiftmailer": "^2.0.0", + "2amigos/2fa-library": "^1.0", + "2amigos/qrcode-library": "^1.1" }, "require-dev": { "cebe/assetfree-yii2": "~2.0.0", @@ -71,14 +73,12 @@ "Da\\User\\": "./src/User" } }, - "config": { - "fxp-asset": { - "installer-paths": { - "npm-asset-library": "vendor/npm", - "bower-asset-library": "vendor/bower" - } + "repositories": [ + { + "type": "composer", + "url": "https://asset-packagist.org" } - }, + ], "extra": { "bootstrap": "Da\\User\\Bootstrap" } diff --git a/composer.lock b/composer.lock index d704938..6e893b2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,154 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "7e91781cb2ad9f77a316c4b6fb24c837", + "content-hash": "63797927770ac1fcd3a345979f027bd5", "packages": [ { - "name": "2amigos/yii2-selectize-widget", - "version": "1.0.3", + "name": "2amigos/2fa-library", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/2amigos/yii2-selectize-widget.git", - "reference": "08b5f542e469efe1e7d8af628ced83ab30693180" + "url": "https://github.com/2amigos/2fa-library.git", + "reference": "4060a710194bb376f2fb5eab4740d796e9693d14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/2amigos/yii2-selectize-widget/zipball/08b5f542e469efe1e7d8af628ced83ab30693180", - "reference": "08b5f542e469efe1e7d8af628ced83ab30693180", + "url": "https://api.github.com/repos/2amigos/2fa-library/zipball/4060a710194bb376f2fb5eab4740d796e9693d14", + "reference": "4060a710194bb376f2fb5eab4740d796e9693d14", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^2.0", + "paragonie/random_compat": "^2.0", + "php": ">=5.6" + }, + "require-dev": { + "2amigos/qrcode-library": "^1.1", + "friendsofphp/php-cs-fixer": "^2.3", + "phpmd/phpmd": "@stable", + "phpunit/phpunit": "^6.0", + "scrutinizer/ocular": "~1.1", + "squizlabs/php_codesniffer": "*" + }, + "suggest": { + "2amigos/2fa-library": "To be able to create inline QrCodes data uri schemes with logos and labels" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Da\\TwoFA\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "2amigOS! Consulting Group", + "email": "hola@2amigos.us", + "homepage": "http://2amigos.us", + "role": "Developer" + } + ], + "description": "2 Factor Authentication (2FA) library", + "homepage": "http://www.2amigos.us/open-source/details/twofa-library", + "keywords": [ + "2amigos", + "2fa", + "authticator", + "extension", + "hotp", + "library", + "php", + "totp" + ], + "time": "2017-09-20T21:03:47+00:00" + }, + { + "name": "2amigos/qrcode-library", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/2amigos/qrcode-library.git", + "reference": "5356f2355c7ba9a9ced67753411c88c2c095deb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/2amigos/qrcode-library/zipball/5356f2355c7ba9a9ced67753411c88c2c095deb0", + "reference": "5356f2355c7ba9a9ced67753411c88c2c095deb0", + "shasum": "" + }, + "require": { + "bacon/bacon-qr-code": "^1.0", + "ext-gd": "*", + "khanamiryan/qrcode-detector-decoder": "^1.0", + "php": ">=5.6" + }, + "require-dev": { + "codeception/codeception": "*", + "codeception/specify": "^0.4.3", + "codeception/verify": "^0.3.1", + "friendsofphp/php-cs-fixer": "^2.3", + "phpmd/phpmd": "@stable", + "scrutinizer/ocular": "~1.1", + "squizlabs/php_codesniffer": "*", + "yiisoft/yii2": "*" + }, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Da\\QrCode\\": "./src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "2amigOS! Consulting Group", + "email": "hola@2amigos.us", + "homepage": "http://2amigos.us", + "role": "Developer" + } + ], + "description": "QrCode Generator", + "homepage": "http://www.2amigos.us/open-source/details/qrcode-library", + "keywords": [ + "2amigos", + "component", + "extension", + "qr", + "qrcode", + "yii", + "yii 2", + "yii2" + ], + "time": "2017-08-25T15:23:58+00:00" + }, + { + "name": "2amigos/yii2-selectize-widget", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/2amigos/yii2-selectize-widget.git", + "reference": "9762a34d1095f15b60f46b876dad245011755bfc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/2amigos/yii2-selectize-widget/zipball/9762a34d1095f15b60f46b876dad245011755bfc", + "reference": "9762a34d1095f15b60f46b876dad245011755bfc", "shasum": "" }, "require": { @@ -61,7 +195,49 @@ "yii 2", "yii2" ], - "time": "2017-06-11T17:33:02+00:00" + "time": "2017-09-19T22:02:33+00:00" + }, + { + "name": "bacon/bacon-qr-code", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Bacon/BaconQrCode.git", + "reference": "031a2ce68c5794064b49d11775b2daf45c96e21c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/031a2ce68c5794064b49d11775b2daf45c96e21c", + "reference": "031a2ce68c5794064b49d11775b2daf45c96e21c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-gd": "to generate QR code images" + }, + "type": "library", + "autoload": { + "psr-0": { + "BaconQrCode": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "http://www.dasprids.de", + "role": "Developer" + } + ], + "description": "BaconQrCode is a QR code generator for PHP.", + "homepage": "https://github.com/Bacon/BaconQrCode", + "time": "2016-01-09T22:55:35+00:00" }, { "name": "bower-asset/bootstrap", @@ -75,131 +251,14 @@ "type": "zip", "url": "https://api.github.com/repos/twbs/bootstrap/zipball/0b9c4a4007c44201dce9a6cc1a38407005c26c86", "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86", - "shasum": "" + "shasum": null }, "require": { "bower-asset/jquery": ">=1.9.1,<4.0" }, - "type": "bower-asset-library", - "extra": { - "bower-asset-main": [ - "less/bootstrap.less", - "dist/js/bootstrap.js" - ], - "bower-asset-ignore": [ - "/.*", - "_config.yml", - "CNAME", - "composer.json", - "CONTRIBUTING.md", - "docs", - "js/tests", - "test-infra" - ] - }, + "type": "bower-asset", "license": [ "MIT" - ], - "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", - "keywords": [ - "css", - "framework", - "front-end", - "js", - "less", - "mobile-first", - "responsive", - "web" - ] - }, - { - "name": "bower-asset/jquery", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/jquery/jquery-dist.git", - "reference": "c0185ab7c75aab88762c5aae780b9d83b80eda72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/c0185ab7c75aab88762c5aae780b9d83b80eda72", - "reference": "c0185ab7c75aab88762c5aae780b9d83b80eda72", - "shasum": "" - }, - "type": "bower-asset-library", - "extra": { - "bower-asset-main": "dist/jquery.js", - "bower-asset-ignore": [ - "package.json" - ] - }, - "license": [ - "MIT" - ], - "keywords": [ - "browser", - "javascript", - "jquery", - "library" - ] - }, - { - "name": "bower-asset/jquery.inputmask", - "version": "3.3.7", - "source": { - "type": "git", - "url": "https://github.com/RobinHerbots/Inputmask.git", - "reference": "9835731cb78cac749734d94a1cb5bd70da4d3b10" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/9835731cb78cac749734d94a1cb5bd70da4d3b10", - "reference": "9835731cb78cac749734d94a1cb5bd70da4d3b10", - "shasum": "" - }, - "require": { - "bower-asset/jquery": ">=1.7" - }, - "type": "bower-asset-library", - "extra": { - "bower-asset-main": [ - "./dist/inputmask/inputmask.js", - "./dist/inputmask/inputmask.extensions.js", - "./dist/inputmask/inputmask.date.extensions.js", - "./dist/inputmask/inputmask.numeric.extensions.js", - "./dist/inputmask/inputmask.phone.extensions.js", - "./dist/inputmask/jquery.inputmask.js", - "./dist/inputmask/global/document.js", - "./dist/inputmask/global/window.js", - "./dist/inputmask/phone-codes/phone.js", - "./dist/inputmask/phone-codes/phone-be.js", - "./dist/inputmask/phone-codes/phone-nl.js", - "./dist/inputmask/phone-codes/phone-ru.js", - "./dist/inputmask/phone-codes/phone-uk.js", - "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js", - "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js", - "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.js", - "./dist/inputmask/bindings/inputmask.binding.js" - ], - "bower-asset-ignore": [ - "**/*", - "!dist/*", - "!dist/inputmask/*", - "!dist/min/*", - "!dist/min/inputmask/*" - ] - }, - "license": [ - "http://opensource.org/licenses/mit-license.php" - ], - "description": "Inputmask is a javascript library which creates an input mask. Inputmask can run against vanilla javascript, jQuery and jqlite.", - "keywords": [ - "form", - "input", - "inputmask", - "jquery", - "mask", - "plugins" ] }, { @@ -214,60 +273,13 @@ "type": "zip", "url": "https://api.github.com/repos/brianreavis/microplugin.js/zipball/d8671e6cc769938648f8735610534427cdeeaf67", "reference": "d8671e6cc769938648f8735610534427cdeeaf67", - "shasum": "" - }, - "type": "bower-asset-library", - "extra": { - "bower-asset-main": [ - "src/microplugin.js" - ], - "bower-asset-ignore": [ - "Makefile", - "test", - ".travis.yml", - ".npmignore.yml" - ] + "shasum": null }, + "type": "bower-asset", "license": [ "Apache License, Version 2.0" - ], - "description": "A lightweight plugin / dependency system for javascript libraries.", - "keywords": [ - "architecture", - "dependencies", - "extensibility", - "plugins", - "require" ] }, - { - "name": "bower-asset/punycode", - "version": "v1.3.2", - "source": { - "type": "git", - "url": "https://github.com/bestiejs/punycode.js.git", - "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3", - "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3", - "shasum": "" - }, - "type": "bower-asset-library", - "extra": { - "bower-asset-main": "punycode.js", - "bower-asset-ignore": [ - "coverage", - "tests", - ".*", - "component.json", - "Gruntfile.js", - "node_modules", - "package.json" - ] - } - }, { "name": "bower-asset/selectize", "version": "v0.12.4", @@ -280,52 +292,16 @@ "type": "zip", "url": "https://api.github.com/repos/selectize/selectize.js/zipball/47e048662d865c4f1ea3b2337de5e06e92fd9530", "reference": "47e048662d865c4f1ea3b2337de5e06e92fd9530", - "shasum": "" + "shasum": null }, "require": { "bower-asset/jquery": ">=1.7.0", "bower-asset/microplugin": "dev-0.0.x|0.0.x", "bower-asset/sifter": "dev-0.5.x|0.5.x" }, - "require-dev": { - "bower-asset/bootstrap-2": "~2", - "bower-asset/bootstrap-3.2": "3.2" - }, - "type": "bower-asset-library", - "extra": { - "bower-asset-main": [ - "dist/css/selectize.css", - "dist/js/selectize.js" - ], - "bower-asset-ignore": [ - "Makefile", - "Gruntfile.js", - "examples", - "node_modules", - "bower_components", - "docs", - "src", - "test", - ".travis.yml", - "testem.json", - "selectize.jquery.json", - "*.sh", - "package.json" - ] - }, + "type": "bower-asset", "license": [ "Apache License, Version 2.0" - ], - "description": "Selectize is a jQuery-based custom + + + + + + diff --git a/tests/_app/config/test.php b/tests/_app/config/test.php index 650ae4b..012443a 100644 --- a/tests/_app/config/test.php +++ b/tests/_app/config/test.php @@ -8,7 +8,7 @@ return [ '@Da/User' => dirname(dirname(dirname(__DIR__))) . '/src/User', '@tests' => dirname(dirname(__DIR__)), '@vendor' => VENDOR_DIR, - '@bower' => VENDOR_DIR . '/bower', + '@bower' => VENDOR_DIR . '/bower-asset', ], 'bootstrap' => ['Da\User\Bootstrap'], 'modules' => [