Files
Mareon/ax/SRC/A365_GetToken.js
Marcel Bourseau f161ffb7d2 MARX#69220 Koppeling Mareon -> Twinq: statusupdates van opdracht naar Twinq
svn path=/Mareon/trunk/; revision=54249
2021-12-21 15:28:25 +00:00

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;
}