FSN#41669 Basic Auth voor API2
svn path=/Website/trunk/; revision=35029
This commit is contained in:
@@ -607,6 +607,7 @@ function getIdentity(username, wachtwoord, params)
|
|||||||
var oSLNKDWF = new ActiveXObject("SLNKDWF.About");
|
var oSLNKDWF = new ActiveXObject("SLNKDWF.About");
|
||||||
// maximaal 80 seconde slapen, anders ASP-timeout
|
// maximaal 80 seconde slapen, anders ASP-timeout
|
||||||
var sleepsec = Math.min(80, S("prs_login_lockout_delay") * Math.pow(S("prs_login_lockout_delayfactor"), founddata.count - 1));
|
var sleepsec = Math.min(80, S("prs_login_lockout_delay") * Math.pow(S("prs_login_lockout_delayfactor"), founddata.count - 1));
|
||||||
|
__Log("Vanwege {0} pogingen ga ik {1}ms slapen".format(founddata.count, 1000*sleepsec), "ffd0d0");
|
||||||
oSLNKDWF.Sleep(1000 * sleepsec);
|
oSLNKDWF.Sleep(1000 * sleepsec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -640,8 +641,9 @@ function getIdentity(username, wachtwoord, params)
|
|||||||
var usStart = oSLNKDWF.usTimer;
|
var usStart = oSLNKDWF.usTimer;
|
||||||
var test_hash = oCrypto.hex_pbkdf2("password", "salt", Math.pow(2, workfactor - 5), 20); // 1/32e van een echt wachtwoord als test
|
var test_hash = oCrypto.hex_pbkdf2("password", "salt", Math.pow(2, workfactor - 5), 20); // 1/32e van een echt wachtwoord als test
|
||||||
var tmicro = oSLNKDWF.usTimer - usStart;
|
var tmicro = oSLNKDWF.usTimer - usStart;
|
||||||
|
__Log("Vanwege niet gevonden gebruiker {0}ms slapen".format(Math.round(tmicro / 1000 * 32)), "ffd0d0");
|
||||||
var oSLNKDWF = new ActiveXObject("SLNKDWF.About");
|
var oSLNKDWF = new ActiveXObject("SLNKDWF.About");
|
||||||
var sleepmsec = Math.min(80000, tmicro / 1000 * 32);
|
var sleepmsec = Math.min(80000, tmicro / 1000 * 31);
|
||||||
oSLNKDWF.Sleep(sleepmsec);
|
oSLNKDWF.Sleep(sleepmsec);
|
||||||
oRs.Close();
|
oRs.Close();
|
||||||
return result;
|
return result;
|
||||||
@@ -651,9 +653,13 @@ function getIdentity(username, wachtwoord, params)
|
|||||||
var otpcounter = oRs("prs_perslid_otpcounter").Value || -1;
|
var otpcounter = oRs("prs_perslid_otpcounter").Value || -1;
|
||||||
|
|
||||||
var found = false;
|
var found = false;
|
||||||
if (/* nog niet vanuit SAML/default.asp params.noPassword && */ wachtwoord == null // SSO
|
if (oRs("prs_perslid_apikey").Value === username)
|
||||||
|| oRs("prs_perslid_apikey").Value === username
|
{
|
||||||
)
|
params.stateless = true;
|
||||||
|
wachtwoord = null; // die is verder irrelevant
|
||||||
|
found = true; // En zijn we verder wel klaar
|
||||||
|
}
|
||||||
|
else if (/* nog niet vanuit SAML/default.asp params.noPassword && */ wachtwoord == null) // SSO
|
||||||
found = true; // En zijn we verder wel klaar
|
found = true; // En zijn we verder wel klaar
|
||||||
else
|
else
|
||||||
found = testpassword(oRs("prs_perslid_key").Value, wachtwoord, params.mobile);
|
found = testpassword(oRs("prs_perslid_key").Value, wachtwoord, params.mobile);
|
||||||
|
|||||||
@@ -89,8 +89,6 @@ if (user_key < 0)
|
|||||||
var auth = String(Request.ServerVariables("HTTP_AUTHORIZATION"));
|
var auth = String(Request.ServerVariables("HTTP_AUTHORIZATION"));
|
||||||
if (auth.match(/^Basic /))
|
if (auth.match(/^Basic /))
|
||||||
{
|
{
|
||||||
__DoLog("Found Authorization: Basic");
|
|
||||||
__Logging = 3;
|
|
||||||
var b64 = auth.substring(6);
|
var b64 = auth.substring(6);
|
||||||
var plain = decode_b64(b64);
|
var plain = decode_b64(b64);
|
||||||
if (plain.split(":").length > 1)
|
if (plain.split(":").length > 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user