Feature: User validate first factor Scenario: User succeeds first factor Given I visit "https://auth.test.local:8080/" When I set field "username" to "bob" And I set field "password" to "password" And I click on "Sign in" Then I'm redirected to "https://auth.test.local:8080/secondfactor" Scenario: User fails first factor Given I visit "https://auth.test.local:8080/" When I set field "username" to "john" And I set field "password" to "bad-password" And I click on "Sign in" Then I get a notification of type "error" with message "Authentication failed. Please double check your credentials." Scenario: User registers TOTP secret and succeeds authentication Given I visit "https://auth.test.local:8080/" And I login with user "john" and password "password" And I register a TOTP secret called "Sec0" When I visit "https://admin.test.local:8080/secret.html" And I'm redirected to "https://auth.test.local:8080/?redirect=https%3A%2F%2Fadmin.test.local%3A8080%2Fsecret.html" And I login with user "john" and password "password" And I use "Sec0" as TOTP token handle And I click on "TOTP" Then I'm redirected to "https://admin.test.local:8080/secret.html" Scenario: User fails TOTP second factor When I visit "https://admin.test.local:8080/secret.html" And I'm redirected to "https://auth.test.local:8080/?redirect=https%3A%2F%2Fadmin.test.local%3A8080%2Fsecret.html" And I login with user "john" and password "password" And I use "BADTOKEN" as TOTP token And I click on "TOTP" Then I get a notification of type "error" with message "Problem with TOTP validation." Scenario: Logout redirects user to redirect URL given in parameter When I visit "https://auth.test.local:8080/logout?redirect=https://home.test.local:8080/" Then I'm redirected to "https://home.test.local:8080/"