mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
40574bc8ec
Before this fix an anonymous user was not able to access a resource that were configured with a bypass policy. This was due to a useless check of the userid in the auth session. Moreover, in the case of an anonymous user, we should not check the inactivity period since there is no session. Also refactor /verify endpoint for better testability and add tests in a new suite.
32 lines
1.5 KiB
TypeScript
32 lines
1.5 KiB
TypeScript
import LoginAndRegisterTotp from '../../../helpers/LoginAndRegisterTotp';
|
|
import VerifyUrlIs from '../../../helpers/assertions/VerifyUrlIs';
|
|
import { StartDriver, StopDriver } from '../../../helpers/context/WithDriver';
|
|
import VerifyIsSecondFactorStage from '../../../helpers/assertions/VerifyIsSecondFactorStage';
|
|
import VisitPage from '../../../helpers/VisitPage';
|
|
import FillLoginPageAndClick from '../../../helpers/FillLoginPageAndClick';
|
|
import Logout from '../../../helpers/Logout';
|
|
|
|
export default function() {
|
|
describe('User tries to access a page protected by second factor while he only passed first factor', function() {
|
|
before(async function() {
|
|
this.driver = await StartDriver();
|
|
const secret = await LoginAndRegisterTotp(this.driver, "john", "password", true);
|
|
if (!secret) throw new Error('No secret!');
|
|
|
|
await VisitPage(this.driver, "https://admin.example.com:8080/secret.html");
|
|
await VerifyUrlIs(this.driver, "https://login.example.com:8080/#/?rd=https://admin.example.com:8080/secret.html");
|
|
await FillLoginPageAndClick(this.driver, "john", "password");
|
|
await VerifyIsSecondFactorStage(this.driver);
|
|
});
|
|
|
|
after(async function() {
|
|
await Logout(this.driver);
|
|
await StopDriver(this.driver);
|
|
});
|
|
|
|
it("should reach second factor page of login portal", async function() {
|
|
await VisitPage(this.driver, "https://admin.example.com:8080/secret.html");
|
|
await VerifyIsSecondFactorStage(this.driver);
|
|
});
|
|
});
|
|
} |