import BluebirdPromise = require("bluebird"); import Endpoints = require("../../../server/endpoints"); import Constants = require("../../../server/constants"); export function validate(username: string, password: string, redirectUrl: string, onlyBasicAuth: boolean, $: JQueryStatic): BluebirdPromise<string> { return new BluebirdPromise<string>(function (resolve, reject) { const url = Endpoints.FIRST_FACTOR_POST + "?" + Constants.REDIRECT_QUERY_PARAM + "=" + redirectUrl + "&" + Constants.ONLY_BASIC_AUTH_QUERY_PARAM + "=" + onlyBasicAuth; $.ajax({ method: "POST", url: url, data: { username: username, password: password, } }) .done(function (data: { redirect: string }) { resolve(data.redirect); }) .fail(function (xhr: JQueryXHR, textStatus: string) { reject(new Error("Authetication failed. Please check your credentials.")); }); }); }