-{% endblock %}
diff --git a/app/Resources/translations/messages.en_GB.xliff b/app/Resources/translations/messages.en_GB.xliff
index cff4e6a7e..cf6b2e66d 100644
--- a/app/Resources/translations/messages.en_GB.xliff
+++ b/app/Resources/translations/messages.en_GB.xliff
@@ -1,6 +1,6 @@
-
+ The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.
@@ -17,15 +17,10 @@
/Resources/views/base.html.twig/Resources/views/base.html.twig
-
-
- Authentication in two steps
- /Resources/views/base.html.twig
- Sign out
- /Resources/views/base.html.twig
+ /Resources/views/base.html.twig
@@ -42,73 +37,6 @@
Nederlands/../vendor/surfnet/stepup-bundle/src/Resources/views/translations.twig
-
-
- Back to Home
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- Page not found
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- Retry to sign-in
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/authnFailed.html.twig
-
-
-
- Sign in unsuccessful. Please try again.
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/authnFailed.html.twig
-
-
-
- Sign in
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/authnFailed.html.twig
-
-
-
- You are not authorised to log in.
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/preconditionNotMet.html.twig
-
-
-
- Sign in
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/preconditionNotMet.html.twig
-
-
-
- Oops! Something went wrong. Go back to try again or go to the home screen.
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
-
-
-
- Please report this error, including the error code, to the helpdesk via help@surfconext.nl
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- The page you requested was not found. Please try again or go back to 'Home'.
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- Please report this error, including the error code, to the helpdesk via help@surfconext.nl
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
-
-
-
- The error code is
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- Error
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
- Due to an unknown reason, switching locales failed.
@@ -491,19 +419,14 @@ For all devices with a USB port.
- Register token
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
-
-
-
- Add new token
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ Add token
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twigThere are no tokens registered for your account. Click on 'Register token' to register a new token.
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
@@ -541,12 +464,12 @@ An e-mail with your activation code has been sent to the e-mail address %email%.
Remove
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
- Test
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ Test a token
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
@@ -598,15 +521,30 @@ An e-mail with your activation code has been sent to the e-mail address %email%.
YubiKey/../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/translations.twig
+
+
+ Expiration date
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+
+
+
+ The token registration period has expired. Please remove your token and restart the registration process.
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+
+
+
+ Expired
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ ID
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twigToken
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
@@ -626,7 +564,7 @@ An e-mail with your activation code has been sent to the e-mail address %email%.
Help
- /Resources/views/base.html.twig
+ /Resources/views/base.html.twig
@@ -635,7 +573,7 @@ An e-mail with your activation code has been sent to the e-mail address %email%.
- The test with your token was successful. You can login with Strong Authentication.
+ The test with your token was successful. You can login with your token./../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/translations.twig
@@ -648,6 +586,134 @@ An e-mail with your activation code has been sent to the e-mail address %email%.
The verification of the YubiKey code failed due to unknown reasons. Please try again./../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/translations.twig
+
+
+ Sign in unsuccessful. Please try again.
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Sign in
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Sign in unsuccessful. Please try again.
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Sign in
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Error code
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ Something went wrong. Please try again.
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Oops!
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Application
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ IP address
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ Missing required attribute
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/ExceptionController.php
+
+
+
+ The page you requested was not found. Please try again or go back to Home.
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error404.html.twig
+
+
+
+ Page not found
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error404.html.twig
+
+
+
+ You are not authorised to sign in
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Not authorised to sign in
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Request ID
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ The SAML request has been signed but the signature could not be validated.
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Signature validation failed
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ the support page if this does not fix your problem. On this page you will find more information about possible causes of the error and how to contact the support team.]]>
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error404.html.twig
+
+
+
+ Time
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ Unknown service provider
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ The SAML request is expected to be signed but it was not
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Unsigned request
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ The SAMLRequest has been signed, but the signature format is not supported
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Unsupported signature format
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ User agent
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+ Switch
diff --git a/app/Resources/translations/messages.nl_NL.xliff b/app/Resources/translations/messages.nl_NL.xliff
index afea327e4..a5cdfb70d 100644
--- a/app/Resources/translations/messages.nl_NL.xliff
+++ b/app/Resources/translations/messages.nl_NL.xliff
@@ -1,6 +1,6 @@
-
+ The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.
@@ -17,15 +17,10 @@
/Resources/views/base.html.twig/Resources/views/base.html.twig
-
-
- Inloggen in twee stappen
- /Resources/views/base.html.twig
- Uitloggen
- /Resources/views/base.html.twig
+ /Resources/views/base.html.twig
@@ -42,76 +37,9 @@
Nederlands/../vendor/surfnet/stepup-bundle/src/Resources/views/translations.twig
-
-
- Terug naar Home
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- Pagina niet gevonden
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- Inloggen
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/authnFailed.html.twig
-
-
-
- Inloggen mislukt. Probeer het nog eens.
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/authnFailed.html.twig
-
-
-
- Log in
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/authnFailed.html.twig
-
-
-
- Je hebt niet de juiste rechten om in te mogen loggen.
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/preconditionNotMet.html.twig
-
-
-
- Log in
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Saml/Exception/preconditionNotMet.html.twig
-
-
-
- Oeps! Er ging iets mis. Ga terug om het opnieuw te proberen of ga naar het beginscherm.
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
-
-
-
- Meld deze error code aan de helpdesk via support@surfconext.nl
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- De pagina die je zocht kan niet gevonden worden. Probeer het nog eens, of ga terug naar Home.
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- Meld deze error code aan de helpdesk via support@surfconext.nl
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
-
-
-
- De fout code is
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
- /Resources/SurfnetStepupBundle/views/Exception/error404.html.twig
-
-
-
- Foutmelding
- /Resources/SurfnetStepupBundle/views/Exception/error.html.twig
-
- Due to an unknown reason, switching locales failed.
+ Door een onbekende oorzaak is het wisselen van taal mislukt./../src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/LocaleController.php
@@ -491,18 +419,13 @@ Geschikt voor alle devices met een USB-poort.
- Registreer token
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
-
-
-
- Registreer nieuw token
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ Token toevoegen
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twigEr zijn geen tokens geregistreerd voor jouw account. Klik op 'Registreer token' om een nieuw token te registreren.
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
@@ -539,12 +462,12 @@ Er is een e-mail met activatiecode gestuurd naar het e-mailadres %email%. Volg d
Verwijderen
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
- Testen
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ Test een token
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
@@ -596,15 +519,30 @@ Er is een e-mail met activatiecode gestuurd naar het e-mailadres %email%. Volg d
YubiKey/../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/translations.twig
+
+
+ Verloopdatum
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+
+
+
+ De uiterste registratiedatum is verlopen. Registreer het token opnieuw door deze te verwijderen en het registratieproces opnieuw te starten.
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+
+
+
+ Verlopen
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ ID
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twigToken
- /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/SecondFactor/list.html.twig
@@ -624,7 +562,7 @@ Er is een e-mail met activatiecode gestuurd naar het e-mailadres %email%. Volg d
Help
- /Resources/views/base.html.twig
+ /Resources/views/base.html.twig
@@ -633,7 +571,7 @@ Er is een e-mail met activatiecode gestuurd naar het e-mailadres %email%. Volg d
- De test met je token is geslaagd. Je kunt inloggen met Sterke Authenticatie.
+ De test met je token is geslaagd. Je kunt inloggen met je token./../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/translations.twig
@@ -643,9 +581,137 @@ Er is een e-mail met activatiecode gestuurd naar het e-mailadres %email%. Volg d
- Het verifiëren van de YubiKey-code is wegens een onbekende reden niet gelukt. Probeer het opnieuw.
+ Het verifiëren van de YubiKey-code is wegens een onbekende reden nigelukt. Probeer het opnieuw./../src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/translations.twig
+
+
+ Inloggen mislukt. Probeer het nog eens.
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Inloggen
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Inloggen mislukt. Probeer het nog eens.
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Inloggen
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Foutcode
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ Er is iets mis gegaan. Probeer het opnieuw.
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Oeps!
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Applicatie
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ IP-adres
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ Attribuut ontbreekt
+ /../src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/ExceptionController.php
+
+
+
+ De pagina die je zocht kan niet gevonden worden. Probeer het nog eens, of ga terug naar Home.
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error404.html.twig
+
+
+
+ Pagina niet gevonden
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error404.html.twig
+
+
+
+ Je hebt niet de juiste rechten om in te mogen loggen.
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Onvoldoende rechten om in te loggen
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Request ID
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ Het SAML bericht is ondertekend maar de signature kan niet gevalideerd worden
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Verificatie van signature mislukt
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ de support pagina als dit je probleem niet oplost. Op deze pagina vind je meer informatie over de mogelijk oorzaken en hoe je contact kan opnemen met het supportteam.]]>
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error404.html.twig
+
+
+
+ Tijd
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+
+
+
+ Onbekende serviceprovider
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Het SAML bericht moet ondertekend zijn maar bevat geen signature
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Geen signature in SAML bericht
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Het SAML bericht is ondertekend, maar het signature formaat wordt niet ondersteund
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ Signature formaat wordt niet ondersteund
+ /../vendor/surfnet/stepup-bundle/src/Controller/ExceptionController.php
+
+
+
+ User agent
+ /../vendor/surfnet/stepup-bundle/src/Resources/views/Exception/error.html.twig
+ Vertalen
diff --git a/app/Resources/views/base.html.twig b/app/Resources/views/base.html.twig
index a1845d8d2..3f1cda9b6 100644
--- a/app/Resources/views/base.html.twig
+++ b/app/Resources/views/base.html.twig
@@ -22,9 +22,8 @@
{% endblock header %}
{% block page_header %}
-
+
{{ 'app.name'|trans }}
-
{{ 'app.subname'|trans }}
{% if app.user %}
diff --git a/app/config/config.yml b/app/config/config.yml
index 06135c32a..a38fa677f 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -35,7 +35,7 @@ framework:
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
- exception_controller: SurfnetStepupBundle:Exception:show
+ exception_controller: SurfnetStepupSelfServiceSelfServiceBundle:Exception:show
globals:
global_view_parameters: "@self_service.service.global_view_parameters"
@@ -67,27 +67,6 @@ nelmio_security:
# Content types: default, script, object, style, img, media, frame, font, connect
default: [ self ]
-monolog:
- handlers:
- main:
- type: group
- members:
- - main_graylog
- - main_logfile
- main_graylog:
- type: buffer
- handler: graylog
- level: NOTICE
- main_logfile:
- type: stream
- handler: logfile
- level: NOTICE
- path: %kernel.logs_dir%/%kernel.environment%.log
- graylog:
- type: gelf
- publisher: { hostname: %graylog_hostname% }
- formatter: surfnet_stepup.monolog.full_message_exception_gelf_message_formatter
-
mopa_bootstrap:
form:
show_legend: false
@@ -114,6 +93,8 @@ surfnet_stepup_middleware_client:
surfnet_saml:
hosted:
+ attribute_dictionary:
+ ignore_unknown_attributes: true
service_provider:
enabled: true
assertion_consumer_route: selfservice_serviceprovider_consume_assertion
@@ -165,7 +146,6 @@ jms_translation:
extractors: []
surfnet_stepup_self_service_self_service:
- max_number_of_tokens: %number_of_tokens_per_identity%
enabled_second_factors: %enabled_second_factors%
enabled_generic_second_factors: %enabled_generic_second_factors%
second_factor_test_identity_provider:
diff --git a/app/config/config_dev.yml b/app/config/config_dev.yml
index 9d9254b05..08ca0450c 100644
--- a/app/config/config_dev.yml
+++ b/app/config/config_dev.yml
@@ -11,45 +11,27 @@ web_profiler:
toolbar: "%debug_toolbar%"
intercept_redirects: "%debug_redirects%"
-# Be careful not to remove the prod-signaler handler, which overwrites
-# the prod-signaler handler defined in logging.yml. The handler defined
-# in logging.yml disables bubbling which means that none of the handlers
-# below are invoked. Since the current dev setup is incompatible with the
-# prod setup defined in logging.yml, this means we won't see any logs in
-# the infrastructure currently used (graylog). Overwriting the handler
-# here resolves that and reinstates the dev logging setup.
-#
-# this configuration must be replaced to reflect production setup
-# see https://www.pivotaltracker.com/story/show/96056010
-#
+# The monolog configuration below overwrites the in logging.yml that
+# is normally used for production.
monolog:
handlers:
prod-signaler:
- type: group
- members:
- - main_graylog
- - main_logfile
- - main_debuglog
- main_graylog:
- type: buffer
- handler: graylog
- level: NOTICE
- main_logfile:
- type: stream
- handler: logfile
- level: NOTICE
- path: %kernel.logs_dir%/%kernel.environment%.log
+ type: fingers_crossed
+ action_level: ERROR
+ passthru_level: DEBUG # DEV setting: this means that all message of level DEBUG or higher are always logged
+ #passthru_level: NOTICE # PROD setting this means that all message of level NOTICE or higher are always logged
+ handler: main_syslog
+ bubble: true
+ main_syslog:
+ type: syslog
+ ident: stepup-selfservice
+ facility: user
formatter: surfnet_stepup.monolog.json_formatter
- main_debuglog:
- type: stream
+ main_logfile:
+ type: stream
handler: logfile
- level: DEBUG
- path: "%kernel.logs_dir%/%kernel.environment%.debug.log"
- formatter: surfnet_stepup.monolog.json_formatter
- graylog:
- type: gelf
- publisher: { hostname: %graylog_hostname% }
- formatter: surfnet_stepup.monolog.full_message_exception_gelf_message_formatter
+ level: NOTICE
+ path: %kernel.logs_dir%/%kernel.environment%.log
assetic:
use_controller: "%use_assetic_controller%"
diff --git a/app/config/global_view_parameters.yml.dist b/app/config/global_view_parameters.yml.dist
index 126fa4e7f..225cf9ee5 100644
--- a/app/config/global_view_parameters.yml.dist
+++ b/app/config/global_view_parameters.yml.dist
@@ -3,5 +3,5 @@
# Strings containing '%' should be escaped by prepending '%'
parameters:
support_url:
- en_GB: "https://support.surfconext.nl/faq-strong-authentication"
- nl_NL: "https://support.surfconext.nl/faq-sterke-authenticatie"
+ en_GB: "https://support.example.org/faq-strong-authentication"
+ nl_NL: "https://support.example.org/faq-sterke-authenticatie"
diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist
index 4e119b8e4..d6efd89ac 100644
--- a/app/config/parameters.yml.dist
+++ b/app/config/parameters.yml.dist
@@ -3,7 +3,7 @@ parameters:
default_locale: en_GB
locales: [nl_NL, en_GB]
- locale_cookie_domain: surfconext.nl
+ locale_cookie_domain: example.org
secret: NotSoSecretReplaceMe!
debug_toolbar: true
@@ -32,7 +32,6 @@ parameters:
saml_remote_idp_entity_id:
saml_remote_idp_sso_url:
saml_remote_idp_certificate: 'FOR CI ONLY, REPLACE WITH ACTUAL VALUE'
- graylog_hostname: g2-dev.stepup.coin.surf.net
asset_version: 1
second_factor_test_idp_entity_id: ~
@@ -61,6 +60,3 @@ parameters:
session_max_absolute_lifetime: 3600 # 1 hours * 60 minutes * 60 seconds
session_max_relative_lifetime: 600 # 10 minutes * 60 seconds
-
- # The maximum number of tokens each identity (person) can register.
- number_of_tokens_per_identity: 2
diff --git a/composer.json b/composer.json
index 1d522565a..bdb951de8 100644
--- a/composer.json
+++ b/composer.json
@@ -23,10 +23,10 @@
"fortawesome/font-awesome": "~4.2.0",
"jms/translation-bundle": "~1.3.0",
"jms/di-extra-bundle": "~1.4.0",
- "surfnet/stepup-middleware-client-bundle": "^2.0",
+ "surfnet/stepup-middleware-client-bundle": "^2.4",
"guzzlehttp/guzzle": "^6",
- "surfnet/stepup-saml-bundle": "^3.0",
- "surfnet/stepup-bundle": "^3.2",
+ "surfnet/stepup-saml-bundle": "^4.0",
+ "surfnet/stepup-bundle": "^3.4.0",
"surfnet/stepup-u2f-bundle": "dev-develop",
"mopa/composer-bridge": "~1.5",
"openconext/monitor-bundle": "^1.0",
diff --git a/composer.lock b/composer.lock
index 6f35e5811..8ab79fc49 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"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": "0ded687d1bc7a1d86d78d88c1c92baba",
+ "content-hash": "9fad25912e1c03a983366445cb4510f8",
"packages": [
{
"name": "beberlei/assert",
@@ -511,59 +511,6 @@
],
"time": "2014-08-26T16:36:44+00:00"
},
- {
- "name": "graylog2/gelf-php",
- "version": "1.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/bzikarsky/gelf-php.git",
- "reference": "bc1175a5b40f585e69a017647286d84211e82544"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/bzikarsky/gelf-php/zipball/bc1175a5b40f585e69a017647286d84211e82544",
- "reference": "bc1175a5b40f585e69a017647286d84211e82544",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9",
- "psr/log": "~1.0"
- },
- "provide": {
- "psr/log-implementation": "~1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.3",
- "squizlabs/php_codesniffer": "~2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Gelf\\": "src/Gelf"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Benjamin Zikarsky",
- "email": "benjamin@zikarsky.de"
- },
- {
- "name": "gelf-php contributors",
- "homepage": "https://github.com/bzikarsky/gelf-php/contributors"
- }
- ],
- "description": "A php implementation to send log-messages to a GELF compatible backend like Graylog2.",
- "time": "2016-06-02T06:04:56+00:00"
- },
{
"name": "guzzlehttp/guzzle",
"version": "6.2.3",
@@ -2144,26 +2091,26 @@
},
{
"name": "surfnet/stepup-bundle",
- "version": "3.2.0",
+ "version": "3.4.2",
"source": {
"type": "git",
"url": "https://github.com/OpenConext/Stepup-bundle.git",
- "reference": "547c5bcb8fe1841fa657bbf43c5ea4b8e575ec3a"
+ "reference": "2542a5f0d3032bc8c995b995dcc029999007393f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/OpenConext/Stepup-bundle/zipball/547c5bcb8fe1841fa657bbf43c5ea4b8e575ec3a",
- "reference": "547c5bcb8fe1841fa657bbf43c5ea4b8e575ec3a",
+ "url": "https://api.github.com/repos/OpenConext/Stepup-bundle/zipball/2542a5f0d3032bc8c995b995dcc029999007393f",
+ "reference": "2542a5f0d3032bc8c995b995dcc029999007393f",
"shasum": ""
},
"require": {
"ext-gmp": "*",
"ext-openssl": "*",
- "graylog2/gelf-php": "^1.5",
"guzzlehttp/guzzle": "^6.0",
"monolog/monolog": "~1.11",
"php": "^5.6|^7.0",
"sensio/framework-extra-bundle": "~3",
+ "surfnet/stepup-saml-bundle": "^4.0",
"symfony/config": "^2.7",
"symfony/dependency-injection": "^2.7",
"symfony/form": "^2.7",
@@ -2173,7 +2120,6 @@
"symfony/validator": "^2.7"
},
"require-dev": {
- "liip/rmt": "1.1.*",
"mockery/mockery": "0.9.*",
"phpmd/phpmd": "^2.0",
"phpunit/phpunit": "^4.0",
@@ -2197,20 +2143,20 @@
"suaas",
"surfnet"
],
- "time": "2018-03-14T13:11:17+00:00"
+ "time": "2018-04-12T14:02:19+00:00"
},
{
"name": "surfnet/stepup-middleware-client-bundle",
- "version": "2.3.0",
+ "version": "2.4.0",
"source": {
"type": "git",
"url": "https://github.com/OpenConext/Stepup-Middleware-clientbundle.git",
- "reference": "ae0912254c4090de400a84a76db387e76e896c4d"
+ "reference": "83aa482f74d290167d8d4713484c6882fd4983c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/OpenConext/Stepup-Middleware-clientbundle/zipball/ae0912254c4090de400a84a76db387e76e896c4d",
- "reference": "ae0912254c4090de400a84a76db387e76e896c4d",
+ "url": "https://api.github.com/repos/OpenConext/Stepup-Middleware-clientbundle/zipball/83aa482f74d290167d8d4713484c6882fd4983c0",
+ "reference": "83aa482f74d290167d8d4713484c6882fd4983c0",
"shasum": ""
},
"require": {
@@ -2220,6 +2166,7 @@
"php": "^5.6|^7.0",
"psr/log": "~1.0",
"ramsey/uuid": "^3.4",
+ "surfnet/stepup-bundle": "^3.0",
"symfony/config": "^2.7",
"symfony/dependency-injection": "^2.7",
"symfony/http-kernel": "^2.7",
@@ -2250,20 +2197,20 @@
"Apache-2.0"
],
"description": "Symfony2 bundle for consuming the Step-up Middleware API.",
- "time": "2018-01-18T08:54:37+00:00"
+ "time": "2018-04-11T07:19:11+00:00"
},
{
"name": "surfnet/stepup-saml-bundle",
- "version": "3.0.0",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/OpenConext/Stepup-saml-bundle.git",
- "reference": "67e24599a6402fdf602304851bfff915c0c4609c"
+ "reference": "9bb7098248c7b60c8b2cbc74d996b027de69e68a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/OpenConext/Stepup-saml-bundle/zipball/67e24599a6402fdf602304851bfff915c0c4609c",
- "reference": "67e24599a6402fdf602304851bfff915c0c4609c",
+ "url": "https://api.github.com/repos/OpenConext/Stepup-saml-bundle/zipball/9bb7098248c7b60c8b2cbc74d996b027de69e68a",
+ "reference": "9bb7098248c7b60c8b2cbc74d996b027de69e68a",
"shasum": ""
},
"require": {
@@ -2298,7 +2245,7 @@
"stepup",
"surfnet"
],
- "time": "2018-01-17T12:59:03+00:00"
+ "time": "2018-03-21T09:35:58+00:00"
},
{
"name": "surfnet/stepup-u2f-bundle",
@@ -2306,12 +2253,12 @@
"source": {
"type": "git",
"url": "https://github.com/OpenConext/Stepup-u2f-bundle.git",
- "reference": "b28737d7b8df5ecbdf7a1e952ecfb530a2951c05"
+ "reference": "67d8400160c5c9048cdd4354303d59243edbb7bf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/OpenConext/Stepup-u2f-bundle/zipball/b28737d7b8df5ecbdf7a1e952ecfb530a2951c05",
- "reference": "b28737d7b8df5ecbdf7a1e952ecfb530a2951c05",
+ "url": "https://api.github.com/repos/OpenConext/Stepup-u2f-bundle/zipball/67d8400160c5c9048cdd4354303d59243edbb7bf",
+ "reference": "67d8400160c5c9048cdd4354303d59243edbb7bf",
"shasum": ""
},
"require": {
@@ -2340,7 +2287,7 @@
"Apache-2.0"
],
"description": "The SURFnet Step-up U2F bundle contains server-side device verification, and the necessary forms and resources to enable client-side U2F interaction with Step-up Identities",
- "time": "2015-09-17T15:02:04+00:00"
+ "time": "2017-01-27T08:45:00+00:00"
},
{
"name": "symfony/assetic-bundle",
diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/ExceptionController.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/ExceptionController.php
new file mode 100644
index 000000000..8593d1815
--- /dev/null
+++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/ExceptionController.php
@@ -0,0 +1,49 @@
+getTranslator();
+
+ if ($exception instanceof MissingRequiredAttributeException) {
+ $title = $translator->trans('stepup.error.missing_required_attribute.title');
+ $description = $exception->getMessage();
+ }
+
+ if (isset($title) && isset($description)) {
+ return [
+ 'title' => $title,
+ 'description' => $description,
+ ];
+ }
+
+ return parent::getPageTitleAndDescription($exception);
+ }
+}
diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/RegistrationController.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/RegistrationController.php
index 070779135..acc8ad401 100644
--- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/RegistrationController.php
+++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/RegistrationController.php
@@ -23,6 +23,7 @@
use Mpdf\Output\Destination as MpdfDestination;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Surfnet\StepupSelfService\SelfServiceBundle\Service\SecondFactorService;
+use Surfnet\StepupSelfService\SelfServiceBundle\Value\AvailableTokenCollection;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
@@ -49,7 +50,7 @@ public function displaySecondFactorTypesAction()
$identity,
$allSecondFactors,
$institutionConfigurationOptions->allowedSecondFactors,
- $this->getParameter('self_service.second_factor.max_tokens_per_identity')
+ $institutionConfigurationOptions->numberOfTokensPerIdentity
);
if ($secondFactors->getRegistrationsLeft() <= 0) {
@@ -70,10 +71,12 @@ public function displaySecondFactorTypesAction()
unset($secondFactors->available[$index]);
}
}
+
+ $availableTokens = AvailableTokenCollection::from($secondFactors->available, $availableGsspSecondFactors);
+
return [
'commonName' => $this->getIdentity()->commonName,
- 'availableSecondFactors' => $secondFactors->available,
- 'availableGsspSecondFactors' => $availableGsspSecondFactors,
+ 'availableSecondFactors' => $availableTokens,
'verifyEmail' => $this->emailVerificationIsRequired(),
];
}
diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/SamlController.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/SamlController.php
index e73be9428..c2726c6b5 100644
--- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/SamlController.php
+++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/SamlController.php
@@ -21,7 +21,7 @@
use Exception;
use Surfnet\SamlBundle\Http\XMLResponse;
use Surfnet\SamlBundle\SAML2\Response\Assertion\InResponseTo;
-use Surfnet\StepupBundle\Value\SecondFactorType;
+use Surfnet\StepupBundle\Value\Loa;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
@@ -30,41 +30,39 @@
class SamlController extends Controller
{
/**
- * @param string $secondFactorId
+ * A SelfService user is able to test it's token in this endpoint
*
* @return \Symfony\Component\HttpFoundation\RedirectResponse
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
* @throws \Symfony\Component\Security\Core\Exception\AccessDeniedException
*/
- public function testSecondFactorAction($secondFactorId)
+ public function testSecondFactorAction()
{
$logger = $this->get('logger');
$logger->notice('Starting second factor test');
$secondFactorService = $this->get('surfnet_stepup_self_service_self_service.service.second_factor');
- $identity = $this->getIdentity();
+ $loaResolutionService = $this->get('surfnet_stepup.service.loa_resolution');
+ $identity = $this->getIdentity();
- if (!$secondFactorService->identityHasSecondFactorOfStateWithId($identity->id, 'vetted', $secondFactorId)) {
+ $vettedSecondFactors = $secondFactorService->findVettedByIdentity($identity->id);
+ if (!$vettedSecondFactors || $vettedSecondFactors->getTotalItems() === 0) {
$logger->error(
sprintf(
- 'Identity "%s" tried to test second factor "%s", but does not own that second factor or it is not vetted',
- $identity->id,
- $secondFactorId
+ 'Identity "%s" tried to test a second factor, but does not own a suitable vetted token.',
+ $identity->id
)
);
throw new NotFoundHttpException();
}
- $loaResolutionService = $this->get('surfnet_stepup.service.loa_resolution');
$authenticationRequestFactory = $this->get('self_service.test_second_factor_authentication_request_factory');
- $secondFactorTypeService = $this->get('surfnet_stepup.service.second_factor_type');
- $secondFactor = $secondFactorService->findOneVetted($secondFactorId);
- $secondFactorType = new SecondFactorType($secondFactor->type);
+ // By requesting LoA 2 any relevant token can be tested (LoA 2 and 3)
$authenticationRequest = $authenticationRequestFactory->createSecondFactorTestRequest(
$identity->nameId,
- $loaResolutionService->getLoaByLevel($secondFactorTypeService->getLevel($secondFactorType))
+ $loaResolutionService->getLoaByLevel(Loa::LOA_2)
);
$this->get('session')->set('second_factor_test_request_id', $authenticationRequest->getRequestId());
diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/SecondFactorController.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/SecondFactorController.php
index 14c70d6e0..dba29fbe4 100644
--- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/SecondFactorController.php
+++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/SecondFactorController.php
@@ -41,11 +41,13 @@ public function listAction()
// Get all available second factors from the config.
$allSecondFactors = $this->getParameter('ss.enabled_second_factors');
+ $expirationHelper = $this->get('surfnet_stepup.registration_expiration_helper');
+
$secondFactors = $service->getSecondFactorsForIdentity(
$identity,
$allSecondFactors,
$institutionConfigurationOptions->allowedSecondFactors,
- $this->getParameter('self_service.second_factor.max_tokens_per_identity')
+ $institutionConfigurationOptions->numberOfTokensPerIdentity
);
return [
@@ -56,6 +58,7 @@ public function listAction()
'verifiedSecondFactors' => $secondFactors->verified,
'vettedSecondFactors' => $secondFactors->vetted,
'availableSecondFactors' => $secondFactors->available,
+ 'expirationHelper' => $expirationHelper,
];
}
diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/DependencyInjection/Configuration.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/DependencyInjection/Configuration.php
index 0e423ac29..3cf42db72 100644
--- a/src/Surfnet/StepupSelfService/SelfServiceBundle/DependencyInjection/Configuration.php
+++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/DependencyInjection/Configuration.php
@@ -34,9 +34,6 @@ public function getConfigTreeBuilder()
$this->appendSecondFactorTestIdentityProvider($childNodes);
$this->appendSessionConfiguration($childNodes);
- $childNodes->integerNode('max_number_of_tokens')
- ->isRequired();
-
return $treeBuilder;
}
diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/DependencyInjection/SurfnetStepupSelfServiceSelfServiceExtension.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/DependencyInjection/SurfnetStepupSelfServiceSelfServiceExtension.php
index 81384ed63..5d7acafe5 100644
--- a/src/Surfnet/StepupSelfService/SelfServiceBundle/DependencyInjection/SurfnetStepupSelfServiceSelfServiceExtension.php
+++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/DependencyInjection/SurfnetStepupSelfServiceSelfServiceExtension.php
@@ -63,11 +63,6 @@ public function load(array $configs, ContainerBuilder $container)
'self_service.security.authentication.session.maximum_relative_lifetime_in_seconds',
$config['session_lifetimes']['max_relative_lifetime']
);
- $container->setParameter(
- 'self_service.second_factor.max_tokens_per_identity',
- $config['max_number_of_tokens']
- );
-
$this->parseSecondFactorTestIdentityProviderConfiguration(
$config['second_factor_test_identity_provider'],
$container
diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Exception/MissingRequiredAttributeException.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Exception/MissingRequiredAttributeException.php
new file mode 100644
index 000000000..cf0d17949
--- /dev/null
+++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Exception/MissingRequiredAttributeException.php
@@ -0,0 +1,25 @@
+{{ block('page_title') }}
- {% if availableSecondFactors.sms is defined %}
- {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {
- 'type': 'sms',
- 'security': 2,
- 'url': path('ss_registration_sms_send_challenge'),
- } only %}
- {% endif %}
- {% if availableSecondFactors.yubikey is defined %}
- {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {
- 'type': 'yubikey',
- 'security': 3,
- 'url': path('ss_registration_yubikey_prove_possession'),
- } only %}
- {% endif %}
- {% if availableSecondFactors.u2f is defined %}
- {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {
- 'type': 'u2f',
- 'security': 3,
- 'url': path('ss_registration_u2f_registration'),
- } only %}
- {% endif %}
- {% for type, secondFactor in availableGsspSecondFactors %}
- {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/genericSecondFactor.html.twig' with {
- 'type': type,
- 'security': secondFactor.loa,
- 'url': path('ss_registration_gssf_initiate', {'provider': type}),
- 'appAndroidUrl': secondFactor.androidUrl,
- 'appIosUrl': secondFactor.iosUrl,
- 'secondFactor': secondFactor
- } only %}
+ {% for type, secondFactor in availableSecondFactors.data %}
+ {% if secondFactor.isGssp %}
+ {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/genericSecondFactor.html.twig' with {
+ 'type': type,
+ 'security': secondFactor.loaLevel,
+ 'url': path(secondFactor.route, secondFactor.routeParams),
+ 'appAndroidUrl': secondFactor.viewConfig.androidUrl,
+ 'appIosUrl': secondFactor.viewConfig.iosUrl,
+ 'secondFactor': secondFactor.viewConfig
+ } only %}
+ {% else %}
+ {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {
+ 'type': type,
+ 'security': secondFactor.loaLevel,
+ 'url': path(secondFactor.route),
+ } only %}
+ {% endif %}
{% endfor %}