3.3.1.1 Generating Access Tokens Programmatically
Your web application can also create or obtain a short-lived access token from Spatial Studio programmatically, by using an Access-Generator Token.
The following provides the Spatial Studio REST API endpoint details to create an access token:
Endpoint:
/spatialstudio/oauth/v1/user/token?name=<NAME>&validTime=<MINUTES>&action=<ACTION>&resourceType=<RESOURCE>
Required HTTP Request Header: Name of the header must be Authorization and its value must start with Bearer followed by a space, then followed by a valid access-generator token string.
The following table describes the query parameters used in the preceding endpoint.
Table 3-1 Query Parameters
Query ParametersFoot 1 | Data Type | Description |
---|---|---|
name |
Up to 128 chars (non-null) | Specifies the name of the token to be created. |
validTime |
An integer
x, where -1 >= x >= 9999 |
Specifies for how many minutes the new token remains
valid.
Note: A value of -1 indicates that the token will not expire. |
action |
enum[read_only, read_write] |
Specifies the actions the new token is allowed to perform. |
resourceType |
enum[dataset_streaming,
dataset_streaming_refreshing , embedded_published_project,
all |
Specifies the types of resources the new token is allowed to access (act on). |
Footnote 1 All the query parameters are mandatory.
It is important to note that currently only five different types of tokens can be created
with the following combinations of action
and
resourceType
:
action=read_only&resourceType=all
action=read_write&resourceType=all
action=read_only&resourceType=dataset_streaming
action=read_write&resourceType=dataset_streaming_refreshing
action=read_only&resourceType=embedded_published_project
Any other combination of action
and resourceType
(outside the valid combinations shown in preceding list) will be rejected.
The following shows a sample request (using Curl
command
line) to obtain an access token that allows a web application to get the streaming
access to a dataset as well as allowing the refreshing of the dataset’s vector
tiles.
curl -X POST
'http://localhost:8080/spatialstudio/oauth/v1/user/token?name=test123&validTime=60&action=read_write&resourceType=dataset_streaming_refreshing'
--header 'Authorization: Bearer $GENERATORTOKEN'
The preceding request returns a JSON document containing the new token. Its
value is stored in the token
field in the response:
{"name":"test123","token":"eyJ0eXAiOiJzZ3RlY2...", … }
Parent topic: Generating an Access Token