AAFM#34930 Eerste aanzet App Authenticatie
svn path=/Website/branches/v2015.3/; revision=27986
This commit is contained in:
@@ -59,7 +59,33 @@ api2_rest = {
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
// Impersonate?
|
||||
// APP? Die kan meta-rechten hebben (bijvoorbeeld auth-token opvragen van gebruiker)
|
||||
var APPKEY;
|
||||
if (S("fac_api_key_in_url"))
|
||||
APPKEY = getQParam("HTTP_X_FACILITOR_APP_KEY", "");
|
||||
if (!APPKEY && Request.ServerVariables("HTTP_X_FACILITOR_APP_KEY").Count)
|
||||
APPKEY = String(Request.ServerVariables("HTTP_X_FACILITOR_APP_KEY")); // Meegegeven als X-FACILITOR-APP-Key
|
||||
if (APPKEY)
|
||||
{
|
||||
var sql = "SELECT prs_perslid_key, prs_perslid_naam"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_verwijder IS NULL"
|
||||
+ " AND prs_perslid_apikey = " + safe.quoted_sql(APPKEY);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
{
|
||||
__DoLog("Unauthorized app");
|
||||
Response.Status = "401 Unauthorized";
|
||||
Response.End;
|
||||
};
|
||||
__Log("APP User is: " + oRs("prs_perslid_naam").Value);
|
||||
/* global */ app_user_key = oRs("prs_perslid_key").Value;
|
||||
/* global */ app_user = new Perslid(app_user_key);
|
||||
oRs.Close()
|
||||
}
|
||||
|
||||
|
||||
// Impersonate? (anno jan-2016 in de praktijk nergens gebruikt, kan mogelijk vervallen)
|
||||
var IMPERS;
|
||||
if (S("fac_api_key_in_url"))
|
||||
IMPERS = getQParam("SWITCHUSER", "");
|
||||
|
||||
@@ -53,7 +53,7 @@ model_persons =
|
||||
//var urole = "fe"; // TODO: Moet echt niet ter zake doen
|
||||
//var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
|
||||
//params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
|
||||
//if (params.filter.id == user_key)
|
||||
if (app_user_key > 0) // Alleen App's mogen dit opvragen. TODO: Ook echt authorisatie controleren?
|
||||
{
|
||||
if (user.prs_perslid_apikey() && user.oslogin())
|
||||
{
|
||||
|
||||
@@ -222,6 +222,10 @@ if (typeof Session("ASPFIXATION") != "undefined")
|
||||
|
||||
// Zijn we bekend? Zo niet dan naar login.asp om dat uit te zoeken
|
||||
var user_key = Session("user_key") || -1;
|
||||
var user; // wordt bij geldige user gevuld met new Perslid
|
||||
// Hetzelfde voor API2 app-user
|
||||
var app_user_key = -1;
|
||||
var app_user;
|
||||
|
||||
if (user_key < 0 && typeof LOGIN_try == "undefined")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user