mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
76fa325f08
Authelia client uses hash router instead of browser router in order to work with Kubernetes nginx-ingress-controller. This is also better for users having old browsers. This commit is breaking because it requires to change the configuration of the proxy to include the # in the URL of the login portal.
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import Request from 'request-promise';
|
|
|
|
async function GetSecret(username: string, password: string) {
|
|
return await Request('https://singlefactor.example.com:8080/secret.html', {
|
|
auth: {
|
|
username,
|
|
password
|
|
},
|
|
rejectUnauthorized: false,
|
|
});
|
|
}
|
|
|
|
export default function() {
|
|
it("should retrieve secret when Authorization header is provided", async function() {
|
|
const res = await GetSecret('john', 'password');
|
|
if (res.indexOf('This is a very important secret!') < 0) {
|
|
throw new Error('Cannot access secret.');
|
|
}
|
|
});
|
|
|
|
it("should not retrieve secret when providing bad password", async function() {
|
|
const res = await GetSecret('john', 'bad-password');
|
|
if (res.indexOf('This is a very important secret!') >= 0) {
|
|
throw new Error('Cannot access secret.');
|
|
}
|
|
});
|
|
|
|
it("should not retrieve secret when authenticating with unexisting user", async function() {
|
|
const res = await GetSecret('dontexist', 'password');
|
|
if (res.indexOf('This is a very important secret!') >= 0) {
|
|
throw new Error('Cannot access secret.');
|
|
}
|
|
});
|
|
} |