Downloading latest Trust1Connector

Downloading Trust1Connector

The T1C JS SDK no longer has a method to download the T1C installer.

Instead, the T1C installer can be downloaded by navigating the client browser to the /v3_5/downloads/installer endpoint of the Distribution Service (e.g. https://acc-ds.t1t.io/v3_5/downloads/installer). The Distribution Service will analyse the User-Agent header and automatically initiate the download of an OS-appropriate installer of the latest configured version. The user agent string parsing is considered "best-effort"; as they can vary wildly depending OS and browser software.

Alternatively, you can also initiate the download of a T1C installer with the following endpoints:

  1. /v3_5/downloads/installers/{{OS}}: This endpoint allows you to specify the OS for which you wish to obtain an installer. The possible values are win32, win64, unix, macos macosarm.

  2. /v3_5/downloads/installers/{{OS}}/versions/{{version}}: This endpoint allows you to download a specific version of a T1C installer for a specific OS.

If using the generic endpoint 3_5/downloads/installer

The automatic user-agent detection also does not differentiate between ARM/M1 and Intel Mac devices

Differentiate between MacOS architectures

For MacOS there are currently 2 supported architectures:

  • ARM64 (M1, ...)

  • Intel x86_64

Currently, browsers etc do not display which architecture you're running. So in order to provide download links to the users you need to provide them with the option to download any of the 2 architectures. The user needs to decide which platform he is running.

From the DS you can get both links with the following URL's (Production DS is used in the example);

# Intel x86_64
https://ds.t1t.io/v3_5/downloads/installers/macos

# ARM64
https://ds.t1t.io/v3_5/downloads/installers/macosarm

After this, you can provide the user with the choice of which one they want to download. Below you can see an example of how Google does this with their Browser, Google Chrome.

Here you can clearly see they provide two versions, with a recommendation on Intel because the majority of the users still run Intel Apple devices

Distribution services

Below you can find a list of Distribuction services available from Trust1Team. If you are integrating with a 3rd party that uses the Trust1Connector you can contact them for information regarding the Distribution services.

Example upgrade flow

Information below is an example. If the integrator pleases he can alter the flow to their business use-case

Via the Distribution service you can fetch the latest available version. This can be done via the call

curl --location --request GET 'https://acc-ds.t1t.io/v3_5/versions/latest' \
--header 'Authorization: Bearer eyJh...BCr8Q'

This will return all information needed from the latest version, for example our latest version at this point returns:

{
	"success": true,
	"data": {
		"id": "3.6.0",
		"createdOn": "2022-03-21T07:47:48.590425Z",
		"updatedOn": "2022-05-30T10:46:36.532283Z",
		"recommended": false,
		"mandatory": false,
		"allowed": true,
		"visible": true,
		"uris": [
			{
				"os": "MACOSARM",
				"uri": "https://storage.googleapis.com/t1c-dependen....e/trust1team/Trust1Connector-arm.dmg"
			},
			{
				"os": "UNIX",
				"uri": "https://storage.googleapis.com/t1c-depend....trust1team/trust1connector.deb"
			},
			{
				"os": "MACOS",
				"uri": "https://storage.googleapis.com/t1c-dep....Trust1Connector Acceptance-x86.dmg"
			},
			{
				"os": "WIN64",
				"uri": "https://storage.googleapis.com/t1c-depe....t1Connector-Acceptance-x64.msi"
			},
			{
				"os": "WIN32",
				"uri": "https://storage.googleapis.com/t1c-dependenci...ust1Connector-Acceptance-x86.msi"
			}
		],
		"installationApiKey": "6257cbe3-e25a-.....-9fb9-02ad17d1f193"
	}
}

You can check the boolean values mandatory recommended and allowed to determine a pop-up for example, so that the user can download and use this Trust1Connector.

You can also retrieve the same information for a specific version. This endpoint returns the same response type as the latest version call:

curl --location --request GET 'https://acc-ds.t1t.io/v3_5/versions/3.6.0' \
--header 'Authorization: Bearer eyJh...BCr8Q'

In the call above, you can substitute 3.6.0 for the desired version ID

Example screenshot below of our demo-application (rmc.t1t.io)

Below you can find an example of how an version check can be implemented in your front-end application.