From 8b791e678d31247d4155100085f3c21be94ee64c Mon Sep 17 00:00:00 2001 From: Michiel Kodde Date: Thu, 13 Sep 2018 14:42:33 +0200 Subject: [PATCH 01/12] Use the SMS Service test double in test The test double is used to prevent the sending of actual SMS messages to a test user. In order to make the change work correctly, the VettingService now works with the SmsSecondFactorServiceInterface. This interface will be introduced in the upcoming Stepup-bundle release. --- app/config/config_test.yml | 1 + app/config/service_test.yml | 5 +++++ src/Surfnet/StepupRa/RaBundle/Service/VettingService.php | 6 +++--- 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 app/config/service_test.yml diff --git a/app/config/config_test.yml b/app/config/config_test.yml index 122b6997..291777a3 100644 --- a/app/config/config_test.yml +++ b/app/config/config_test.yml @@ -1,5 +1,6 @@ imports: - { resource: config_dev.yml } + - { resource: service_test.yml } framework: test: ~ diff --git a/app/config/service_test.yml b/app/config/service_test.yml new file mode 100644 index 00000000..5d6705a6 --- /dev/null +++ b/app/config/service_test.yml @@ -0,0 +1,5 @@ +services: + surfnet_stepup.service.sms_second_factor: + class: Surfnet\StepupBundle\Tests\TestDouble\Service\SmsSecondFactorService + arguments: + - "@surfnet_stepup.service.challenge_handler" diff --git a/src/Surfnet/StepupRa/RaBundle/Service/VettingService.php b/src/Surfnet/StepupRa/RaBundle/Service/VettingService.php index b6af4c34..43885e36 100644 --- a/src/Surfnet/StepupRa/RaBundle/Service/VettingService.php +++ b/src/Surfnet/StepupRa/RaBundle/Service/VettingService.php @@ -23,7 +23,7 @@ use Surfnet\StepupBundle\Command\VerifyPossessionOfPhoneCommand; use Surfnet\StepupBundle\Service\SecondFactorTypeService; use Surfnet\StepupBundle\Service\SmsSecondFactor\OtpVerification; -use Surfnet\StepupBundle\Service\SmsSecondFactorService; +use Surfnet\StepupBundle\Service\SmsSecondFactorServiceInterface; use Surfnet\StepupBundle\Value\PhoneNumber\InternationalPhoneNumber; use Surfnet\StepupBundle\Value\SecondFactorType; use Surfnet\StepupMiddlewareClientBundle\Identity\Command\VetSecondFactorCommand; @@ -57,7 +57,7 @@ class VettingService 'Surfnet\Stepup\Exception\DomainException: Cannot vet second factor, the registration window is closed.'; /** - * @var \Surfnet\StepupBundle\Service\SmsSecondFactorService + * @var \Surfnet\StepupBundle\Service\SmsSecondFactorServiceInterface */ private $smsSecondFactorService; @@ -102,7 +102,7 @@ class VettingService private $secondFactorTypeService; public function __construct( - SmsSecondFactorService $smsSecondFactorService, + SmsSecondFactorServiceInterface $smsSecondFactorService, YubikeySecondFactorService $yubikeySecondFactorService, GssfService $gssfService, U2fService $u2fService, From 92be1c09f8e94fcdb3578671617693658fd2d677 Mon Sep 17 00:00:00 2001 From: Michiel Kodde Date: Thu, 13 Sep 2018 16:18:37 +0200 Subject: [PATCH 02/12] Upgrade Stepup-bundle to version 4.0.1 --- composer.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/composer.lock b/composer.lock index ac6e0372..d5c2b074 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "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": "ae8e40f45a1d3152a3c54f4ac9c29060", + "content-hash": "ad296108577f810d86cba201d17fe756", "packages": [ { "name": "beberlei/assert", @@ -2213,16 +2213,16 @@ }, { "name": "surfnet/stepup-bundle", - "version": "4.0.1", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/OpenConext/Stepup-bundle.git", - "reference": "5946dde19d5e095a5836d602b7abfa64cb71d6f1" + "reference": "3329ca027f57208d7a20882707ef4a01dd2a4fb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/OpenConext/Stepup-bundle/zipball/5946dde19d5e095a5836d602b7abfa64cb71d6f1", - "reference": "5946dde19d5e095a5836d602b7abfa64cb71d6f1", + "url": "https://api.github.com/repos/OpenConext/Stepup-bundle/zipball/3329ca027f57208d7a20882707ef4a01dd2a4fb6", + "reference": "3329ca027f57208d7a20882707ef4a01dd2a4fb6", "shasum": "" }, "require": { @@ -2265,7 +2265,7 @@ "suaas", "surfnet" ], - "time": "2018-09-06T12:43:15+00:00" + "time": "2018-09-13T14:13:26+00:00" }, { "name": "surfnet/stepup-middleware-client-bundle", From 3894b84d74a2f0ab7869865b2b3f2b34c55a98dc Mon Sep 17 00:00:00 2001 From: Bas Strooband Date: Wed, 19 Sep 2018 16:34:04 +0200 Subject: [PATCH 03/12] Add symfony test configuration This in order to allow testing the whole stepup stack --- .gitignore | 1 + app_dev.php.dist | 7 +------ app_test.php.dist | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 app_test.php.dist diff --git a/.gitignore b/.gitignore index 1ca6a933..181c50d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ /web/bundles/ /web/app_dev.php /web/app_dev.php.dist +/web/app_test.php /app/bootstrap.php.cache /app/cache/* /app/config/parameters.yml diff --git a/app_dev.php.dist b/app_dev.php.dist index 65e4b688..eb39f458 100644 --- a/app_dev.php.dist +++ b/app_dev.php.dist @@ -7,12 +7,7 @@ Debug::enable(~E_USER_DEPRECATED); $request = Request::createFromGlobals(); -$env = 'dev'; -if (isset($_SERVER['APP_DEV'])) { - $env = $_SERVER['APP_DEV']; -} - -$kernel = new AppKernel($env, true); +$kernel = new AppKernel('dev', true); $kernel->boot(); $trustedProxies = $kernel->getContainer()->getParameter('trusted_proxies'); diff --git a/app_test.php.dist b/app_test.php.dist new file mode 100644 index 00000000..7f82d218 --- /dev/null +++ b/app_test.php.dist @@ -0,0 +1,18 @@ +boot(); + +$trustedProxies = $kernel->getContainer()->getParameter('trusted_proxies'); +Request::setTrustedProxies($trustedProxies, Request::HEADER_X_FORWARDED_ALL); + +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); From 4b3e6a5aa754b9fbb98868bf1c9318913e14cdf5 Mon Sep 17 00:00:00 2001 From: Michiel Kodde Date: Wed, 3 Oct 2018 11:00:53 +0200 Subject: [PATCH 04/12] Flip the choice value / label definition The choices definition should be 'label' => 'value'. This was changed in Symfony 3. This problem was evident in two Type definitions: - SearchRaSecondFactorsType - SecondFactorTypeChoiceList See https://www.pivotaltracker.com/story/show/160923051 --- .../Form/Extension/SecondFactorTypeChoiceList.php | 2 +- .../RaBundle/Form/Type/SearchRaSecondFactorsType.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Surfnet/StepupRa/RaBundle/Form/Extension/SecondFactorTypeChoiceList.php b/src/Surfnet/StepupRa/RaBundle/Form/Extension/SecondFactorTypeChoiceList.php index 14820a06..701b6854 100644 --- a/src/Surfnet/StepupRa/RaBundle/Form/Extension/SecondFactorTypeChoiceList.php +++ b/src/Surfnet/StepupRa/RaBundle/Form/Extension/SecondFactorTypeChoiceList.php @@ -96,7 +96,7 @@ public function create() ); continue; } - $selectOptions[$sfTypeIdentifier] = $translation; + $selectOptions[$translation] = $sfTypeIdentifier; } return $selectOptions; diff --git a/src/Surfnet/StepupRa/RaBundle/Form/Type/SearchRaSecondFactorsType.php b/src/Surfnet/StepupRa/RaBundle/Form/Type/SearchRaSecondFactorsType.php index c2e1781d..582e3eeb 100644 --- a/src/Surfnet/StepupRa/RaBundle/Form/Type/SearchRaSecondFactorsType.php +++ b/src/Surfnet/StepupRa/RaBundle/Form/Type/SearchRaSecondFactorsType.php @@ -56,10 +56,10 @@ public function buildForm(FormBuilderInterface $builder, array $options) $builder->add('status', ChoiceType::class, [ 'label' => 'ra.form.ra_search_ra_second_factors.label.status', 'choices' => [ - 'unverified' => 'ra.form.ra_search_ra_second_factors.choice.status.unverified', - 'verified' => 'ra.form.ra_search_ra_second_factors.choice.status.verified', - 'vetted' => 'ra.form.ra_search_ra_second_factors.choice.status.vetted', - 'revoked' => 'ra.form.ra_search_ra_second_factors.choice.status.revoked', + 'ra.form.ra_search_ra_second_factors.choice.status.unverified' => 'unverified', + 'ra.form.ra_search_ra_second_factors.choice.status.verified' => 'verified', + 'ra.form.ra_search_ra_second_factors.choice.status.vetted' => 'vetted', + 'ra.form.ra_search_ra_second_factors.choice.status.revoked' => 'revoked', ], 'required' => false, ]); From 6c9813e5a9a2f88fb029bdad7d92a4667cea53cf Mon Sep 17 00:00:00 2001 From: Michiel Kodde Date: Wed, 3 Oct 2018 11:31:26 +0200 Subject: [PATCH 05/12] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2cf932b..156002b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## Develop +**Bugfixes** +* Flip value/label in choice form type definitions #168 + ## 2.10.2 **Bugfixes** * Fix setAllowedTypes usage in VerifyPhoneNumberType form #166 From 4a453c628b94a466cbeb839505caca2a25c318be Mon Sep 17 00:00:00 2001 From: Michiel Kodde Date: Thu, 27 Sep 2018 09:22:29 +0200 Subject: [PATCH 06/12] Override the middleware api clients In order to use the middleware api in test mode, guzzle needs to be configured to pass along the testcookie. Otherwise middleware will not know it is dealing with a test call. --- app/config/config_test.yml | 16 ++++ app/config/service_test.yml | 25 ++++++ .../TestDouble/Factory/GuzzleApiFactory.php | 87 +++++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 src/Surfnet/StepupRa/RaBundle/Tests/TestDouble/Factory/GuzzleApiFactory.php diff --git a/app/config/config_test.yml b/app/config/config_test.yml index 291777a3..998ee386 100644 --- a/app/config/config_test.yml +++ b/app/config/config_test.yml @@ -18,3 +18,19 @@ nelmio_security: img: [ self, 'data:' ] script: [ self, unsafe-inline ] style: [ self, unsafe-inline ] + +surfnet_stepup_middleware_client: + authorisation: + password: secret + +surfnet_saml: + hosted: + service_provider: + public_key: /vagrant/deploy/tests/behat/fixtures/test_public_key.crt + private_key: /vagrant/deploy/tests/behat/fixtures/test_private_key.key + metadata: + public_key: /vagrant/deploy/tests/behat/fixtures/test_public_key.crt + private_key: /vagrant/deploy/tests/behat/fixtures/test_private_key.key + remote: + identity_provider: + certificate: MIIC6jCCAdICCQC9cRx5wiwWOjANBgkqhkiG9w0BAQsFADA3MRwwGgYDVQQDDBNTZWxmU2VydmljZSBTQU1MIFNQMRcwFQYDVQQKDA5EZXZlbG9wbWVudCBWTTAeFw0xODA3MzAxMjMwNDdaFw0yMzA3MjkxMjMwNDdaMDcxHDAaBgNVBAMME1NlbGZTZXJ2aWNlIFNBTUwgU1AxFzAVBgNVBAoMDkRldmVsb3BtZW50IFZNMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqhbI0Xy682DuvWchg6FYnI+DNwLXef2XExM4YVRBaMMsOZ3rBtQUTMSqYan6SK/BOEXLs0rNiJjyM0dn+F98wg3fv5zIADlvfk3LBVdcGsrpVfFUWtSa73yMgbROy8/RJADbUJE/HUB3ZmdjdiuD2Cui2aoWwT2HR8ukJwmoxiu45IWFPbqPQ7/1mH644JPOWTPLTv4OGGLQo8MNrP1oRCiZ0IEL4CQeGOOju5rfIJ0bTVm0UmelT4hGaqZovBMwXp3QV41akJ7UEMEBK2YMnLQy47Xuzi7aTDhJlvHcJ8mfH2NbjRh7hJoACVRTvQloxajgkr1iGMiWiiqT0e+YYwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBwZ0gRHvR8B8KivrXrhWNL9uLvWhEAH7OiDqo+fywkBp5KEuDJcbbvEPftHunSAGylg7M2xKuBIGamFpp74WDJccrtZ1jJ4qqnacUDRQrTLqqMZKqGpFOU0xjKkSxSGRuMtGN9/7er/TeonjQ0XBvjYvTomy3b5aCLVWRvEfKu2g1sDd8uhr62RY/HfMgidEt7LHDolkCVg+6JzY3OTcgeHga3cvYObOYPplxw1YPq5+BqqxaUW4nfb5DtK33bZBYMeyV6BZtSggc5Z/19aPx/s0bf6ySTUyB3lRqe5d3etCns4bGidORCl/6EZiXwVcPvmYmxYXqmuNWfps7isUvo \ No newline at end of file diff --git a/app/config/service_test.yml b/app/config/service_test.yml index 5d6705a6..1702998c 100644 --- a/app/config/service_test.yml +++ b/app/config/service_test.yml @@ -1,5 +1,30 @@ +# Use this service definition file to override services and parameters in the test environment. +# For example to mock certain services, or override a parameter for test. + +parameters: + middleware_credentials_password: secret + services: surfnet_stepup.service.sms_second_factor: class: Surfnet\StepupBundle\Tests\TestDouble\Service\SmsSecondFactorService arguments: - "@surfnet_stepup.service.challenge_handler" + + # The middleware client bundle guzzle client is overloaded to be able to pass the testcookie to the ensure MW is + # loaded in test mode. This way people setting the testcookie in prod will not switch their mw api into testmode + # resulting in 500 errors. + surfnet_stepup_middleware_client.guzzle.api: + public: false + class: GuzzleHttp\Client + factory: ['Surfnet\StepupRa\RaBundle\Tests\TestDouble\Factory\GuzzleApiFactory', createApiGuzzleClient] + arguments: + - "%middleware_url_api%" + - "%middleware_credentials_username%" + - "%middleware_credentials_password%" + + surfnet_stepup_middleware_client.guzzle.commands: + public: false + class: GuzzleHttp\Client + factory: ['Surfnet\StepupRa\RaBundle\Tests\TestDouble\Factory\GuzzleApiFactory', createCommandGuzzleClient] + arguments: + - "%middleware_url_command_api%" \ No newline at end of file diff --git a/src/Surfnet/StepupRa/RaBundle/Tests/TestDouble/Factory/GuzzleApiFactory.php b/src/Surfnet/StepupRa/RaBundle/Tests/TestDouble/Factory/GuzzleApiFactory.php new file mode 100644 index 00000000..a7d23448 --- /dev/null +++ b/src/Surfnet/StepupRa/RaBundle/Tests/TestDouble/Factory/GuzzleApiFactory.php @@ -0,0 +1,87 @@ + $apiUri, + 'auth' => [ + $username, + $password, + 'basic', + ], + 'headers' => [ + 'Accept' => 'application/json', + ], + 'cookies' => self::makeCookieJar($apiUri), + ]; + + return new Client($arguments); + } + + /** + * @param $apiUri + * @return Client + * + * @see \Surfnet\StepupMiddlewareClientBundle\DependencyInjection\SurfnetStepupMiddlewareClientExtension::configureMiddlewareCommandApiUrl + */ + public static function createCommandGuzzleClient($apiUri) + { + return new Client( + [ + 'base_uri' => $apiUri, + 'cookies' => self::makeCookieJar($apiUri), + ] + ); + } + + /** + * @param string $uri + * @return CookieJar + */ + private static function makeCookieJar($uri) + { + $cookieDomain = parse_url($uri, PHP_URL_HOST); + + return CookieJar::fromArray( + [ + 'testcookie' => 'testcookie', + ], + $cookieDomain + ); + } +} From c24fca8d55eb279e2f95da2accc4066e9131a8d5 Mon Sep 17 00:00:00 2001 From: Michiel Kodde Date: Thu, 27 Sep 2018 09:28:38 +0200 Subject: [PATCH 07/12] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 156002b4..b41f772f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,13 @@ # Changelog ## Develop + **Bugfixes** * Flip value/label in choice form type definitions #168 +**Improvments for testing** +* Ensure middleware API is used in test mode #167 + ## 2.10.2 **Bugfixes** * Fix setAllowedTypes usage in VerifyPhoneNumberType form #166 From 13c4d4753e19b83b162467f775abaefa1e89d4af Mon Sep 17 00:00:00 2001 From: Bas Strooband Date: Wed, 9 Jan 2019 14:02:46 +0100 Subject: [PATCH 08/12] Fix the token sorting The token sorting was broken because of a wrongly given collection. This commit should fix the sorting for all columns. --- .../RaBundle/Controller/SecondFactorController.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Surfnet/StepupRa/RaBundle/Controller/SecondFactorController.php b/src/Surfnet/StepupRa/RaBundle/Controller/SecondFactorController.php index a71e7caa..9606a5c3 100644 --- a/src/Surfnet/StepupRa/RaBundle/Controller/SecondFactorController.php +++ b/src/Surfnet/StepupRa/RaBundle/Controller/SecondFactorController.php @@ -18,6 +18,7 @@ namespace Surfnet\StepupRa\RaBundle\Controller; +use Knp\Component\Pager\Paginator; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Surfnet\StepupRa\RaBundle\Command\ExportRaSecondFactorsCommand; use Surfnet\StepupRa\RaBundle\Command\RevokeSecondFactorCommand; @@ -65,8 +66,10 @@ public function searchAction(Request $request) return $this->forward('SurfnetStepupRaRaBundle:SecondFactor:export', ['command' => $command]); } - $pagination = $this->get('knp_paginator')->paginate( - $secondFactors->getTotalItems() > 0 ? array_fill(0, $secondFactors->getTotalItems(), 1) : [], + /** @var Paginator $paginator */ + $paginator = $this->get('knp_paginator'); + $pagination = $paginator->paginate( + $secondFactors->getTotalItems() > 0 ? $secondFactors->getElements() : [], $secondFactors->getCurrentPage(), $secondFactors->getItemsPerPage() ); From c99d6b5844465b42191126f866497b8458f648de Mon Sep 17 00:00:00 2001 From: Bas Strooband Date: Thu, 10 Jan 2019 14:19:29 +0100 Subject: [PATCH 09/12] Open help in new tab The help link in the footer should op en in a new tab. --- app/Resources/views/base.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Resources/views/base.html.twig b/app/Resources/views/base.html.twig index 47680f3f..b07b74e2 100644 --- a/app/Resources/views/base.html.twig +++ b/app/Resources/views/base.html.twig @@ -96,7 +96,7 @@ From b15d3ec28f751cd5c3e39cbaab61353a7d54141f Mon Sep 17 00:00:00 2001 From: Bas Strooband Date: Thu, 10 Jan 2019 14:05:32 +0100 Subject: [PATCH 10/12] Introduce multi-lingual logout redirect The logout redirect utrl didn't work. This commit will make sure the redirect uri will work and adds multilingual support. --- app/config/parameters.yml.dist | 4 +- app/config/security.yml | 2 +- .../RaBundle/Resources/config/security.yml | 6 ++ .../Handler/LogoutSuccessHandler.php | 55 +++++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 src/Surfnet/StepupRa/RaBundle/Security/Authentication/Handler/LogoutSuccessHandler.php diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist index daf80ec4..d491f2d2 100644 --- a/app/config/parameters.yml.dist +++ b/app/config/parameters.yml.dist @@ -50,7 +50,9 @@ parameters: stepup_loa_loa2: https://gateway.tld/authentication/loa2 stepup_loa_loa3: https://gateway.tld/authentication/loa3 - logout_redirect_url: https://www.surf.nl/over-surf/werkmaatschappijen/surfnet + logout_redirect_url: + nl_NL: https://www.surf.nl/over-surf/werkmaatschappijen/surfnet + en_GB: https://www.surf.nl/en/about-surf/subsidiaries/surfnet u2f_app_id: https://gateway.tld/u2f/app-id diff --git a/app/config/security.yml b/app/config/security.yml index f9ad269b..c35c75c1 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -26,7 +26,7 @@ security: logout_on_user_change: true logout: path: /logout - target: "%logout_redirect_url%" + success_handler: "ra.security.authentication.handler.logout_success" invalidate_session: true csrf_token_generator: security.csrf.token_manager csrf_parameter: 't' diff --git a/src/Surfnet/StepupRa/RaBundle/Resources/config/security.yml b/src/Surfnet/StepupRa/RaBundle/Resources/config/security.yml index 9ce8a884..24cb4112 100644 --- a/src/Surfnet/StepupRa/RaBundle/Resources/config/security.yml +++ b/src/Surfnet/StepupRa/RaBundle/Resources/config/security.yml @@ -113,3 +113,9 @@ services: factory: [Surfnet\StepupRa\RaBundle\Value\TimeFrame, ofSeconds] arguments: - "%ra.security.authentication.session.maximum_relative_lifetime_in_seconds%" + + ra.security.authentication.handler.logout_success: + class: Surfnet\StepupRa\RaBundle\Security\Authentication\Handler\LogoutSuccessHandler + arguments: + - "@security.token_storage" + - "%logout_redirect_url%" diff --git a/src/Surfnet/StepupRa/RaBundle/Security/Authentication/Handler/LogoutSuccessHandler.php b/src/Surfnet/StepupRa/RaBundle/Security/Authentication/Handler/LogoutSuccessHandler.php new file mode 100644 index 00000000..91916a2f --- /dev/null +++ b/src/Surfnet/StepupRa/RaBundle/Security/Authentication/Handler/LogoutSuccessHandler.php @@ -0,0 +1,55 @@ +tokenStorage = $tokenStorage; + $this->logoutRedirectUrl = $logoutRedirectUrl; + } + + public function onLogoutSuccess(Request $request) + { + $token = $this->tokenStorage->getToken(); + $identity = $token->getUser(); + + return new RedirectResponse($this->logoutRedirectUrl[$identity->preferredLocale]); + } +} From bd70a1f15cc752642e9a88e51a28deec69072905 Mon Sep 17 00:00:00 2001 From: Bas Strooband Date: Mon, 14 Jan 2019 16:14:35 +0100 Subject: [PATCH 11/12] Fix LogoutSuccesHandler phpdoc --- .../Security/Authentication/Handler/LogoutSuccessHandler.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Surfnet/StepupRa/RaBundle/Security/Authentication/Handler/LogoutSuccessHandler.php b/src/Surfnet/StepupRa/RaBundle/Security/Authentication/Handler/LogoutSuccessHandler.php index 91916a2f..c4537db9 100644 --- a/src/Surfnet/StepupRa/RaBundle/Security/Authentication/Handler/LogoutSuccessHandler.php +++ b/src/Surfnet/StepupRa/RaBundle/Security/Authentication/Handler/LogoutSuccessHandler.php @@ -1,7 +1,7 @@ Date: Tue, 15 Jan 2019 12:21:54 +0100 Subject: [PATCH 12/12] Update CHANGELOG.md For release 2.10.4 --- CHANGELOG.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b41f772f..b9df12fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,14 @@ # Changelog -## Develop +## 2.10.4 +**Improvements** +* Open help in new tab #187 +* Introduce multi-lingual logout redirect #186 +**Bugfixes** +* Fix the token sorting #185 + +## 2.10.3 **Bugfixes** * Flip value/label in choice form type definitions #168