Technical Manual - LDG
Gateway internal communication to databases
HANA - Gateway communicates to server via port that is configured on the following installer form :

Usually the port is 30015.
SQL server - Gateway communicates with SQL server by default port that is set on SQL server, usually it is 1433.
This port is not explicitly set via Gateway installer but can be overviewed and changed inside SQL server configuration :

Gateway external communication to Logiks backend
During the installation, communication is performed on Logiks backend to verify the user right for installation and Gateway registration.
Gateway listening configuration
Gateway listens on calls from Logiks backend that is performed on internal IP address and port.

Gateway demands proper SSL communication secured with SSL certificate.
List of all 3-rd party packages used for Gateway development.
Package name | Description | Version |
---|---|---|
Newtonsoft.Json | http://Json.NET is a popular high-performance JSON framework for .NET | 13.0.1 |
RestSharp | Simple REST and HTTP API Client | 110.2.0 |
Microsoft.Extensions.Logging.Log4Net.AspNetCore | Allows to configure Log4net as Microsoft Extensions Logging handler on any http://ASP.NET Core application. | 6.1.0 |
log4net | log4net is a tool to help the programmer output log statements to a variety of output targets. | 2.0.15 |
PdfiumViewer | PDF viewer based on the PDFium project. | 2.13.0 |
UnmanagedExports | A set of compile-time libraries (nothing to deploy) and a build task that enable you to export functions from managed code to native applications. | 1.2.7 |
Token authentication
Each client call to Gateway must be send with authentication token that is generated and returned to client after sucessfull login. https://logiks.atlassian.net/wiki/spaces/LSID/pages/16089417
JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA. (Source about JWT)
Gateway JWT is signed by HS256 algorithm and is issued for 30 days.
Example of issued JWT :
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiTG9naWtzQVBJQWRtaW4iLCJqdGkiOiIzMGJhZjYwMy0yNTMzLTQ5ZWMtYTMyNi0yM2VkZjVmZGI5NTUiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJBZG1pbiIsImV4cCI6MTcxNDQxMDgzNSwiaXNzIjoiaHR0cHM6Ly8qOjUwNTIiLCJhdWQiOiJodHRwczovLyo6NTA1MiJ9.hiSQGx0Ct18a8cMu3-xvfiMIdohnPxySR9iA0Kr79g4",
"expiration": "2024-04-29T17:13:55Z"
}