138 lines
5.0 KiB
JavaScript
138 lines
5.0 KiB
JavaScript
// --------------------------------------------------------------------------------------
|
|
// GetToken.js
|
|
// Copyright 2019 Facilitor. 053-4800 700, helpdesk@mareon.nl
|
|
// Written by MB (2019)
|
|
//
|
|
|
|
function A365_supplierservice_GetToken (){
|
|
var v_token;
|
|
v_token = MARX_GetToken(G_ID_ax365_supplierservice_url, G_ID_ax365_supplierservice_client_id, G_ID_ax365_supplierservice_client_secret, G_ID_ax365_supplierservice_grant_type, G_ID_ax365_supplierservice_resource, G_ID_ax365_supplierservice_scope, 0);
|
|
WriteSupplierserviceToken2File(v_token);
|
|
return v_token;
|
|
}
|
|
|
|
function A365_saxton_GetToken (){
|
|
var v_token;
|
|
v_token = MARX_GetToken(G_ID_saxton_url, G_ID_saxton_client_id, G_ID_saxton_client_secret, G_ID_saxton_grant_type, G_ID_saxton_resource, G_ID_saxton_scope, 0);
|
|
WriteSaxtonToken2File(v_token);
|
|
return v_token;
|
|
}
|
|
|
|
function A2012_saxton_GetToken (){
|
|
var v_token;
|
|
v_token = MARX_GetToken(G_ID_saxton_url, G_ID_saxton_client_id, G_ID_saxton_client_secret, G_ID_saxton_grant_type, G_ID_saxton_resource, G_ID_saxton_scope, 0);
|
|
WriteSaxtonToken2File(v_token);
|
|
return v_token;
|
|
}
|
|
|
|
//MARX#69220 Koppeling Mareon -> Twinq
|
|
function TWINQ_GetToken (){
|
|
var v_token;
|
|
v_token = MARX_GetToken(G_ID_saxton_url, G_ID_saxton_client_id, G_ID_saxton_client_secret, G_ID_saxton_grant_type, G_ID_saxton_resource, G_ID_saxton_scope, 1);
|
|
WriteSaxtonToken2File(v_token);
|
|
return v_token;
|
|
}
|
|
|
|
// MARX#69220 Koppeling Mareon -> Twinq
|
|
// v_basic_authentication (0 of 1): In geval van Twinq, geldt v_basic_authentication (waarde = 1), bij T365/AX2012 geldt dat niet (waarde = 0)
|
|
function MARX_GetToken (v_url, v_client_id, v_client_secret, v_grant_type, v_resource, v_scope, v_basic_authentication)
|
|
{
|
|
__Log("MARX_GetToken v_url: " + v_url,3);
|
|
__Log("MARX_GetToken v_client_id: " + v_client_id,3);
|
|
__Log("MARX_GetToken v_client_secret: " + v_client_secret,4);
|
|
__Log("MARX_GetToken v_grant_type: " + v_grant_type,3);
|
|
__Log("MARX_GetToken v_resource: " + v_resource,3);
|
|
__Log("MARX_GetToken v_scope: " + v_scope,3);
|
|
__Log("MARX_GetToken v_basic_authentication: " + v_basic_authentication,3);
|
|
|
|
var l_secret;
|
|
var l_request_body;
|
|
l_secret = "";
|
|
if (v_basic_authentication == 0)
|
|
{ //geen basic auth, credentials in body...
|
|
l_request_body = "client_id=" + v_client_id
|
|
+ "&client_secret=" + v_client_secret
|
|
+ "&grant_type=" + v_grant_type;
|
|
}
|
|
else
|
|
{ // wel basis auth, alleen granttype in body, en client_id en client secret worden in base64 omgezet...
|
|
l_request_body = "grant_type=" + v_grant_type;
|
|
var base64 = new Base64Cls();
|
|
l_secret = base64.encode(v_client_id + ":" + v_client_secret);
|
|
}
|
|
// v_resource is optioneel, in geval van AX365 is deze WEL gevuld (en in AX2012 NIET)
|
|
if (v_resource != "")
|
|
l_request_body = l_request_body + "&resource=" + v_resource;
|
|
// v_scope is optioneel, in geval van AX365 is deze LEEG en in AX2012 is deze WEL gevuld
|
|
if (v_scope != "")
|
|
l_request_body = l_request_body + "&scope=" + v_scope;
|
|
|
|
var v_type = 1;
|
|
var v_contenttype = "application/x-www-form-urlencoded";
|
|
__Log("MARX_GetToken: Nieuwe token opgehaald" ,2);
|
|
var v_resp = apiIDentity(v_url, l_request_body, v_type, v_contenttype, 0, v_basic_authentication, l_secret);
|
|
var json_resp = JSON.parse(v_resp);
|
|
|
|
var v_token = json_resp.access_token;
|
|
return v_token;
|
|
}
|
|
|
|
function GetSupplierserviceTokenFolder()
|
|
{
|
|
return "MStoken/";
|
|
}
|
|
|
|
function GetSaxtonTokenFolder()
|
|
{
|
|
return "SAXtoken/";
|
|
}
|
|
|
|
|
|
function GetTokenFileName()
|
|
{
|
|
return G_bedrijf_key;
|
|
}
|
|
|
|
function GetTokenFileExt()
|
|
{
|
|
return "txt";
|
|
}
|
|
|
|
|
|
function WriteSupplierserviceToken2File(v_token){
|
|
var v_token_folder = GetSupplierserviceTokenFolder();
|
|
if (!fso.FolderExists(v_token_folder)) fso.CreateFolder(v_token_folder);
|
|
var v_token_filenaam = GetTokenFileName();
|
|
var v_token_file_ext = GetTokenFileExt();
|
|
WriteText2File(v_token_folder, v_token_filenaam, v_token_file_ext, v_token, 0, 0);
|
|
}
|
|
|
|
function WriteSaxtonToken2File(v_token){
|
|
var v_token_folder = GetSaxtonTokenFolder();
|
|
if (!fso.FolderExists(v_token_folder)) fso.CreateFolder(v_token_folder);
|
|
var v_token_filenaam = GetTokenFileName();
|
|
var v_token_file_ext = GetTokenFileExt();
|
|
WriteText2File(v_token_folder, v_token_filenaam, v_token_file_ext, v_token, 0, 0);
|
|
}
|
|
|
|
function ReadSupplierserviceTokenFromFile(){
|
|
var l_token = "";
|
|
var v_token_folder = GetSupplierserviceTokenFolder();
|
|
var v_token_filenaam = GetTokenFileName();
|
|
var v_token_file_ext = GetTokenFileExt();
|
|
var v_file = v_token_folder + v_token_filenaam + "." + v_token_file_ext
|
|
l_token = ReadLineAsciiFile (v_file);
|
|
return l_token;
|
|
}
|
|
|
|
function ReadSaxtonTokenFromFile(){
|
|
var l_token = "";
|
|
var v_token_folder = GetSaxtonTokenFolder();
|
|
var v_token_filenaam = GetTokenFileName();
|
|
var v_token_file_ext = GetTokenFileExt();
|
|
var v_file = v_token_folder + v_token_filenaam + "." + v_token_file_ext
|
|
l_token = ReadLineAsciiFile (v_file);
|
|
return l_token;
|
|
}
|
|
|