aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--composer.json2
-rw-r--r--composer.lock180
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig2
-rw-r--r--src/Wallabag/UserBundle/Resources/views/Authentication/form.html.twig6
-rw-r--r--tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php4
6 files changed, 159 insertions, 37 deletions
diff --git a/composer.json b/composer.json
index 46dc409b..af9a9e62 100644
--- a/composer.json
+++ b/composer.json
@@ -71,7 +71,7 @@
71 "friendsofsymfony/user-bundle": "2.0.*", 71 "friendsofsymfony/user-bundle": "2.0.*",
72 "friendsofsymfony/oauth-server-bundle": "^1.5", 72 "friendsofsymfony/oauth-server-bundle": "^1.5",
73 "stof/doctrine-extensions-bundle": "^1.2", 73 "stof/doctrine-extensions-bundle": "^1.2",
74 "scheb/two-factor-bundle": "^3.0", 74 "scheb/two-factor-bundle": "^4.4",
75 "grandt/phpepub": "dev-master", 75 "grandt/phpepub": "dev-master",
76 "wallabag/php-mobi": "~1.0", 76 "wallabag/php-mobi": "~1.0",
77 "kphoen/rulerz-bundle": "~0.13", 77 "kphoen/rulerz-bundle": "~0.13",
diff --git a/composer.lock b/composer.lock
index e9173838..32d6e898 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5 "This file is @generated automatically" 5 "This file is @generated automatically"
6 ], 6 ],
7 "content-hash": "7b43c6d21bc5016660c4e95aa0fdbc12", 7 "content-hash": "2dfef02524d5e64b49dfca4dc54353c0",
8 "packages": [ 8 "packages": [
9 { 9 {
10 "name": "bdunogier/guzzle-site-authenticator", 10 "name": "bdunogier/guzzle-site-authenticator",
@@ -57,6 +57,61 @@
57 "time": "2018-12-13T21:06:29+00:00" 57 "time": "2018-12-13T21:06:29+00:00"
58 }, 58 },
59 { 59 {
60 "name": "beberlei/assert",
61 "version": "v3.2.1",
62 "source": {
63 "type": "git",
64 "url": "https://github.com/beberlei/assert.git",
65 "reference": "ce139b6bf8f07fb8389d2c8e15b98dc24fdd93c7"
66 },
67 "dist": {
68 "type": "zip",
69 "url": "https://api.github.com/repos/beberlei/assert/zipball/ce139b6bf8f07fb8389d2c8e15b98dc24fdd93c7",
70 "reference": "ce139b6bf8f07fb8389d2c8e15b98dc24fdd93c7",
71 "shasum": ""
72 },
73 "require": {
74 "php": "^7"
75 },
76 "require-dev": {
77 "friendsofphp/php-cs-fixer": "*",
78 "phpstan/phpstan-shim": "*",
79 "phpunit/phpunit": ">=6.0.0 <8"
80 },
81 "type": "library",
82 "autoload": {
83 "psr-4": {
84 "Assert\\": "lib/Assert"
85 },
86 "files": [
87 "lib/Assert/functions.php"
88 ]
89 },
90 "notification-url": "https://packagist.org/downloads/",
91 "license": [
92 "BSD-2-Clause"
93 ],
94 "authors": [
95 {
96 "name": "Benjamin Eberlei",
97 "role": "Lead Developer",
98 "email": "kontakt@beberlei.de"
99 },
100 {
101 "name": "Richard Quadling",
102 "role": "Collaborator",
103 "email": "rquadling@gmail.com"
104 }
105 ],
106 "description": "Thin assertion library for input validation in business models.",
107 "keywords": [
108 "assert",
109 "assertion",
110 "validation"
111 ],
112 "time": "2019-05-28T15:18:28+00:00"
113 },
114 {
60 "name": "behat/transliterator", 115 "name": "behat/transliterator",
61 "version": "v1.2.0", 116 "version": "v1.2.0",
62 "source": { 117 "source": {
@@ -5231,6 +5286,68 @@
5231 "time": "2019-07-17T20:56:16+00:00" 5286 "time": "2019-07-17T20:56:16+00:00"
5232 }, 5287 },
5233 { 5288 {
5289 "name": "paragonie/constant_time_encoding",
5290 "version": "v2.2.3",
5291 "source": {
5292 "type": "git",
5293 "url": "https://github.com/paragonie/constant_time_encoding.git",
5294 "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb"
5295 },
5296 "dist": {
5297 "type": "zip",
5298 "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/55af0dc01992b4d0da7f6372e2eac097bbbaffdb",
5299 "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb",
5300 "shasum": ""
5301 },
5302 "require": {
5303 "php": "^7"
5304 },
5305 "require-dev": {
5306 "phpunit/phpunit": "^6|^7",
5307 "vimeo/psalm": "^1|^2"
5308 },
5309 "type": "library",
5310 "autoload": {
5311 "psr-4": {
5312 "ParagonIE\\ConstantTime\\": "src/"
5313 }
5314 },
5315 "notification-url": "https://packagist.org/downloads/",
5316 "license": [
5317 "MIT"
5318 ],
5319 "authors": [
5320 {
5321 "name": "Paragon Initiative Enterprises",
5322 "email": "security@paragonie.com",
5323 "homepage": "https://paragonie.com",
5324 "role": "Maintainer"
5325 },
5326 {
5327 "name": "Steve 'Sc00bz' Thomas",
5328 "email": "steve@tobtu.com",
5329 "homepage": "https://www.tobtu.com",
5330 "role": "Original Developer"
5331 }
5332 ],
5333 "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
5334 "keywords": [
5335 "base16",
5336 "base32",
5337 "base32_decode",
5338 "base32_encode",
5339 "base64",
5340 "base64_decode",
5341 "base64_encode",
5342 "bin2hex",
5343 "encoding",
5344 "hex",
5345 "hex2bin",
5346 "rfc4648"
5347 ],
5348 "time": "2019-01-03T20:26:31+00:00"
5349 },
5350 {
5234 "name": "paragonie/random_compat", 5351 "name": "paragonie/random_compat",
5235 "version": "v2.0.18", 5352 "version": "v2.0.18",
5236 "source": { 5353 "source": {
@@ -7017,22 +7134,23 @@
7017 }, 7134 },
7018 { 7135 {
7019 "name": "scheb/two-factor-bundle", 7136 "name": "scheb/two-factor-bundle",
7020 "version": "v3.21.0", 7137 "version": "v4.4.0",
7021 "source": { 7138 "source": {
7022 "type": "git", 7139 "type": "git",
7023 "url": "https://github.com/scheb/two-factor-bundle.git", 7140 "url": "https://github.com/scheb/two-factor-bundle.git",
7024 "reference": "94cc6f2e0fd8a7b683246d95fcad9b15ca828fc6" 7141 "reference": "5a53ad7fe20e2ca2491fed28a58211509c2e74bd"
7025 }, 7142 },
7026 "dist": { 7143 "dist": {
7027 "type": "zip", 7144 "type": "zip",
7028 "url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/94cc6f2e0fd8a7b683246d95fcad9b15ca828fc6", 7145 "url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/5a53ad7fe20e2ca2491fed28a58211509c2e74bd",
7029 "reference": "94cc6f2e0fd8a7b683246d95fcad9b15ca828fc6", 7146 "reference": "5a53ad7fe20e2ca2491fed28a58211509c2e74bd",
7030 "shasum": "" 7147 "shasum": ""
7031 }, 7148 },
7032 "require": { 7149 "require": {
7033 "lcobucci/jwt": "^3.2", 7150 "lcobucci/jwt": "^3.2",
7151 "paragonie/constant_time_encoding": "^2.2",
7034 "php": "^7.1.3", 7152 "php": "^7.1.3",
7035 "sonata-project/google-authenticator": "^2.2", 7153 "spomky-labs/otphp": "^9.1",
7036 "symfony/config": "^3.4|^4.0", 7154 "symfony/config": "^3.4|^4.0",
7037 "symfony/dependency-injection": "^3.4|^4.0", 7155 "symfony/dependency-injection": "^3.4|^4.0",
7038 "symfony/event-dispatcher": "^3.4|^4.0", 7156 "symfony/event-dispatcher": "^3.4|^4.0",
@@ -7075,7 +7193,7 @@
7075 "two-factor", 7193 "two-factor",
7076 "two-step" 7194 "two-step"
7077 ], 7195 ],
7078 "time": "2019-07-12T16:11:05+00:00" 7196 "time": "2019-07-12T16:10:17+00:00"
7079 }, 7197 },
7080 { 7198 {
7081 "name": "sensio/distribution-bundle", 7199 "name": "sensio/distribution-bundle",
@@ -7552,35 +7670,37 @@
7552 "time": "2019-01-23T09:14:37+00:00" 7670 "time": "2019-01-23T09:14:37+00:00"
7553 }, 7671 },
7554 { 7672 {
7555 "name": "sonata-project/google-authenticator", 7673 "name": "spomky-labs/otphp",
7556 "version": "2.2.0", 7674 "version": "v9.1.4",
7557 "source": { 7675 "source": {
7558 "type": "git", 7676 "type": "git",
7559 "url": "https://github.com/sonata-project/GoogleAuthenticator.git", 7677 "url": "https://github.com/Spomky-Labs/otphp.git",
7560 "reference": "feda53899b26af24e3db2fe7a3e5f053ca483762" 7678 "reference": "48d463cf909320399fe08eab2e1cd18d899d5068"
7561 }, 7679 },
7562 "dist": { 7680 "dist": {
7563 "type": "zip", 7681 "type": "zip",
7564 "url": "https://api.github.com/repos/sonata-project/GoogleAuthenticator/zipball/feda53899b26af24e3db2fe7a3e5f053ca483762", 7682 "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/48d463cf909320399fe08eab2e1cd18d899d5068",
7565 "reference": "feda53899b26af24e3db2fe7a3e5f053ca483762", 7683 "reference": "48d463cf909320399fe08eab2e1cd18d899d5068",
7566 "shasum": "" 7684 "shasum": ""
7567 }, 7685 },
7568 "require": { 7686 "require": {
7687 "beberlei/assert": "^2.4|^3.0",
7688 "paragonie/constant_time_encoding": "^2.0",
7569 "php": "^7.1" 7689 "php": "^7.1"
7570 }, 7690 },
7571 "require-dev": { 7691 "require-dev": {
7572 "symfony/phpunit-bridge": "^4.0" 7692 "phpunit/phpunit": "^6.0",
7693 "satooshi/php-coveralls": "^1.0"
7573 }, 7694 },
7574 "type": "library", 7695 "type": "library",
7575 "extra": { 7696 "extra": {
7576 "branch-alias": { 7697 "branch-alias": {
7577 "dev-master": "2.x-dev" 7698 "dev-master": "9.0.x-dev"
7578 } 7699 }
7579 }, 7700 },
7580 "autoload": { 7701 "autoload": {
7581 "psr-4": { 7702 "psr-4": {
7582 "Google\\Authenticator\\": "src/", 7703 "OTPHP\\": "src/"
7583 "Sonata\\GoogleAuthenticator\\": "src/"
7584 } 7704 }
7585 }, 7705 },
7586 "notification-url": "https://packagist.org/downloads/", 7706 "notification-url": "https://packagist.org/downloads/",
@@ -7589,24 +7709,26 @@
7589 ], 7709 ],
7590 "authors": [ 7710 "authors": [
7591 { 7711 {
7592 "name": "Christian Stocker", 7712 "name": "Florent Morselli",
7593 "email": "me@chregu.tv" 7713 "homepage": "https://github.com/Spomky"
7594 },
7595 {
7596 "name": "Andre DeMarre",
7597 "homepage": "http://www.devnetwork.net/viewtopic.php?f=50&t=94989"
7598 }, 7714 },
7599 { 7715 {
7600 "name": "Thomas Rabaix", 7716 "name": "All contributors",
7601 "email": "thomas.rabaix@gmail.com" 7717 "homepage": "https://github.com/Spomky-Labs/otphp/contributors"
7602 } 7718 }
7603 ], 7719 ],
7604 "description": "Library to integrate Google Authenticator into a PHP project", 7720 "description": "A PHP library for generating one time passwords according to RFC 4226 (HOTP Algorithm) and the RFC 6238 (TOTP Algorithm) and compatible with Google Authenticator",
7605 "homepage": "https://github.com/sonata-project/GoogleAuthenticator", 7721 "homepage": "https://github.com/Spomky-Labs/otphp",
7606 "keywords": [ 7722 "keywords": [
7607 "google authenticator" 7723 "FreeOTP",
7724 "RFC 4226",
7725 "RFC 6238",
7726 "google authenticator",
7727 "hotp",
7728 "otp",
7729 "totp"
7608 ], 7730 ],
7609 "time": "2018-07-18T22:08:02+00:00" 7731 "time": "2019-03-18T10:08:51+00:00"
7610 }, 7732 },
7611 { 7733 {
7612 "name": "stof/doctrine-extensions-bundle", 7734 "name": "stof/doctrine-extensions-bundle",
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig
index 0919646e..1d3685ae 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig
@@ -35,7 +35,7 @@
35 <div class="card-content"> 35 <div class="card-content">
36 <div class="row"> 36 <div class="row">
37 <div class="input-field col s12"> 37 <div class="input-field col s12">
38 <label for="_auth_code">{{ "scheb_two_factor.auth_code"|trans }}</label> 38 <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label>
39 <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" /> 39 <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" />
40 </div> 40 </div>
41 </div> 41 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig
index 7875d787..6f405d7f 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig
@@ -39,7 +39,7 @@
39 <div class="card-content"> 39 <div class="card-content">
40 <div class="row"> 40 <div class="row">
41 <div class="input-field col s12"> 41 <div class="input-field col s12">
42 <label for="_auth_code">{{ "scheb_two_factor.auth_code"|trans }}</label> 42 <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label>
43 <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" /> 43 <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" />
44 </div> 44 </div>
45 </div> 45 </div>
diff --git a/src/Wallabag/UserBundle/Resources/views/Authentication/form.html.twig b/src/Wallabag/UserBundle/Resources/views/Authentication/form.html.twig
index 47a5cb78..c16a6eaf 100644
--- a/src/Wallabag/UserBundle/Resources/views/Authentication/form.html.twig
+++ b/src/Wallabag/UserBundle/Resources/views/Authentication/form.html.twig
@@ -16,14 +16,14 @@
16 {% endif %} 16 {% endif %}
17 17
18 <div class="input-field col s12"> 18 <div class="input-field col s12">
19 <label for="_auth_code">{{ "scheb_two_factor.auth_code"|trans }}</label> 19 <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label>
20 <input id="_auth_code" type="text" autocomplete="off" name="{{ authCodeParameterName }}" /> 20 <input id="_auth_code" type="text" autocomplete="off" name="{{ authCodeParameterName }}" />
21 </div> 21 </div>
22 22
23 {% if displayTrustedOption %} 23 {% if displayTrustedOption %}
24 <div class="input-field col s12"> 24 <div class="input-field col s12">
25 <input id="_trusted" type="checkbox" name="{{ trustedParameterName }}" /> 25 <input id="_trusted" type="checkbox" name="{{ trustedParameterName }}" />
26 <label for="_trusted">{{ "scheb_two_factor.trusted"|trans }}</label> 26 <label for="_trusted">{{ "trusted"|trans({}, 'SchebTwoFactorBundle') }}</label>
27 </div> 27 </div>
28 {% endif %} 28 {% endif %}
29 </div> 29 </div>
@@ -31,7 +31,7 @@
31 <div class="card-action center"> 31 <div class="card-action center">
32 <a href="{{ path('fos_user_security_logout') }}" class="waves-effect waves-light grey btn">{{ 'security.login.cancel'|trans }}</a> 32 <a href="{{ path('fos_user_security_logout') }}" class="waves-effect waves-light grey btn">{{ 'security.login.cancel'|trans }}</a>
33 <button class="btn waves-effect waves-light" type="submit" name="send"> 33 <button class="btn waves-effect waves-light" type="submit" name="send">
34 {{ "scheb_two_factor.login"|trans }} 34 {{ "login"|trans({}, 'SchebTwoFactorBundle') }}
35 <i class="material-icons right">send</i> 35 <i class="material-icons right">send</i>
36 </button> 36 </button>
37 </div> 37 </div>
diff --git a/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php b/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
index 93019b1f..6b51f403 100644
--- a/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
@@ -48,7 +48,7 @@ class SecurityControllerTest extends WallabagCoreTestCase
48 48
49 $this->logInAsUsingHttp('admin'); 49 $this->logInAsUsingHttp('admin');
50 $crawler = $client->request('GET', '/config'); 50 $crawler = $client->request('GET', '/config');
51 $this->assertContains('scheb_two_factor.trusted', $crawler->filter('body')->extract(['_text'])[0]); 51 $this->assertContains('trusted', $crawler->filter('body')->extract(['_text'])[0]);
52 52
53 // restore user 53 // restore user
54 $user = $em 54 $user = $em
@@ -81,7 +81,7 @@ class SecurityControllerTest extends WallabagCoreTestCase
81 81
82 $this->logInAsUsingHttp('admin'); 82 $this->logInAsUsingHttp('admin');
83 $crawler = $client->request('GET', '/config'); 83 $crawler = $client->request('GET', '/config');
84 $this->assertContains('scheb_two_factor.trusted', $crawler->filter('body')->extract(['_text'])[0]); 84 $this->assertContains('trusted', $crawler->filter('body')->extract(['_text'])[0]);
85 85
86 // restore user 86 // restore user
87 $user = $em 87 $user = $em