FSN#39750 Authenticatie 'Apps', savepoint
svn path=/Website/trunk/; revision=33316
This commit is contained in:
@@ -33,7 +33,7 @@ function model_aut_client_perslid(params)
|
|||||||
"hidden_fld": true,
|
"hidden_fld": true,
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
"device": {
|
"device_id": {
|
||||||
"dbs": "aut_client_perslid_device_id",
|
"dbs": "aut_client_perslid_device_id",
|
||||||
"label": L("aut_client_perslid_device"),
|
"label": L("aut_client_perslid_device"),
|
||||||
"typ": "varchar"
|
"typ": "varchar"
|
||||||
|
|||||||
@@ -19,7 +19,8 @@ var JSON_Result = true;
|
|||||||
<!-- #include file="../api2/model_aut_client.inc" -->
|
<!-- #include file="../api2/model_aut_client.inc" -->
|
||||||
<%
|
<%
|
||||||
var client_id = getQParam("client_id");
|
var client_id = getQParam("client_id");
|
||||||
var device_id = getQParam("device_id", ""); // optional device identification
|
var device_id = getQParam("device_id", "AUTO_" + shared.random(32)); // optional device identification
|
||||||
|
// Hetzelfde device krijgt altijd hetzelfde token terug
|
||||||
var model_client = new model_aut_client({ internal: true });
|
var model_client = new model_aut_client({ internal: true });
|
||||||
var client_data = api2.GET(model_client, { filter: { "code": client_id } }); // sp moet er dan zijn voor Service Provider
|
var client_data = api2.GET(model_client, { filter: { "code": client_id } }); // sp moet er dan zijn voor Service Provider
|
||||||
if (!client_data && client_id == "FCLTAPP1") // Voor FCLTAPP1 ondersteunen we auto-create
|
if (!client_data && client_id == "FCLTAPP1") // Voor FCLTAPP1 ondersteunen we auto-create
|
||||||
@@ -45,9 +46,9 @@ var JSON_Result = true;
|
|||||||
INTERNAL_ERROR_MISSING_SP;
|
INTERNAL_ERROR_MISSING_SP;
|
||||||
|
|
||||||
var model_client_perslid = new model_aut_client_perslid({ internal: true });
|
var model_client_perslid = new model_aut_client_perslid({ internal: true });
|
||||||
//altijd nieuwe cp_data maken. Het kan zijn dat je een ander device aan het registreren bent
|
// Soms nieuwe cp_data maken. Het kan zijn dat je een ander device aan het registreren bent
|
||||||
//var cp_data = api2.GET(model_client_perslid, { filter: { "autclient": client_data.id, "person": user_key, "device_id": device_id } });
|
var cp_data = api2.GET(model_client_perslid, { filter: { "autclient": client_data.id, "person": user_key, "device_id": device_id } });
|
||||||
//if (!cp_data)
|
if (!cp_data)
|
||||||
{
|
{
|
||||||
var cp_data = { "autclient" : client_data.id,
|
var cp_data = { "autclient" : client_data.id,
|
||||||
"scope" : "*",
|
"scope" : "*",
|
||||||
@@ -62,11 +63,21 @@ var JSON_Result = true;
|
|||||||
var result = model_client_perslid.REST_POST({}, cp_data);
|
var result = model_client_perslid.REST_POST({}, cp_data);
|
||||||
cp_data = api2.GET(model_client_perslid, result.key );
|
cp_data = api2.GET(model_client_perslid, result.key );
|
||||||
}
|
}
|
||||||
|
else // bestaande cp_data. Maak nieuw access token (vorige laten vervallen?)
|
||||||
|
{
|
||||||
|
var new_cp_data = {
|
||||||
|
"accesstoken" : '1$' + customerId + "_" + shared.random(32), // Does not expire yet?
|
||||||
|
"accessdate" : new Date()
|
||||||
|
}
|
||||||
|
var result = model_client_perslid.REST_PUT({}, new_cp_data, cp_data.id);
|
||||||
|
cp_data = api2.GET(model_client_perslid, cp_data.id );
|
||||||
|
}
|
||||||
var result =
|
var result =
|
||||||
{
|
{
|
||||||
"fcltversion": FCLTVersion,
|
"fcltversion": FCLTVersion,
|
||||||
"instance_url": HTTP.urlzelf() + "/",
|
"instance_url": HTTP.urlzelf() + "/",
|
||||||
"push_token": cp_data.pushtoken,
|
"push_token": cp_data.pushtoken,
|
||||||
|
"device_id": cp_data.device_id,
|
||||||
"access_token": cp_data.accesstoken, // JWT met SP 'FCLTAPP1'? Of JWT met IDP 'FACILITOR'?
|
"access_token": cp_data.accesstoken, // JWT met SP 'FCLTAPP1'? Of JWT met IDP 'FACILITOR'?
|
||||||
// Wel bij elke klant aan te maken dan? Of automatisch?
|
// Wel bij elke klant aan te maken dan? Of automatisch?
|
||||||
// bearer is stateless/ single request dus geen redirect
|
// bearer is stateless/ single request dus geen redirect
|
||||||
|
|||||||
Reference in New Issue
Block a user