There are two ways you can generate a JWT token:
- Login to this Teradata AppCenter portal:
https://<CLUSTER_DOMAIN>/api/user/swagger-ui.html
and generate a JWT token using:POST /token Authenticate A User
The following is a sample JSON (using sample username and password), after you click Try it Out and Execute to get the JWT token.
{ "username": "alice" "password": "alice" }
- Use this REST API to generate the JWT token:
POST https://<CLUSTER_DOMAIN>/api/user/token
Example Request
curl \ -X POST \ "https://<CLUSTER_DOMAIN>/api/user/token" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -d "{ \"password\": \"alice\" \"username\": \"alice\"}"
Example Response
{ "username": "alice", "display_name": "alice", "local": true, "admin": true, "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJQktGOF9BUF9LdnRkNl83WTRfNHowNXZYMTZuWk1PUjZBNWNrNzBmWGE0In0.eyJqdGkiOiI5ZjhkZWY3MC00NWIwLTQwMDUtODA1Yi1jYzAzNWYyNDY5MDQiLCJleHAiOjE1OTE3NDU1MDksIm5iZiI6MCwiaWF0IjoxNTkxNzM4MzA5LCJpc3MiOiJodHRwczovL3RkYXAxODE3bTEubGFicy50ZXJhZGF0YS5jb20vYXV0aC9yZWFsbXMvdWRhIiwiYXVkIjoicmVhbG0tbWFuYWdlbWVudCIsInN1YiI6IjY3YmYxMzg4LWE2MjUtNDM0ZC05ZDZlLWZiMmEzOTMzMGJkMiIsInR5cCI6IkJlYXJlciIsImF6cCI6InVzZXItc2VydmljZSIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6IjBiNmY5N2JhLTVhMTctNGI2Yy05ZGE4LWVjZjE5YzIwNWU2MSIsImFjciI6IjEiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsicXVlcnktbWFuYWdlciIsInVzZXItbWFuYWdlciIsImFwcC1tYW5hZ2VyIiwic3lzdGVtLW1hbmFnZXIiLCJzZWNyZXQtbWFuYWdlciIsIm9mZmxpbmVfYWNjZXNzIiwibm90aWZpY2F0aW9uLW1hbmFnZXIiLCJjbGllbnQtbWFuYWdlciIsInNzby1tYW5hZ2VyIiwidW1hX2F1dGhvcml6YXRpb24iLCJzdXBlcnVzZXIiXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIm1hbmFnZS1yZWFsbSIsIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnMiLCJjcmVhdGUtY2xpZW50IiwibWFuYWdlLXVzZXJzIiwibWFuYWdlLWNsaWVudHMiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwic3ViIjoicm9vdCIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwicHJvdmlkZXJJZCI6bnVsbCwibmFtZSI6InJvb3QgdXNlciIsImFkbWluIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJyb290IiwiZ2l2ZW5fbmFtZSI6InJvb3QiLCJmYW1pbHlfbmFtZSI6InVzZXIiLCJsb2NhbCI6dHJ1ZSwidXNlcm5hbWUiOiJyb290In0.JU-wPLWUR4-cPtOvOTF0lRmBV8Cjhe3sIGAmI9dmbDSxFxVDGYBvzFaTC17NE2dbxNLD4ejMwlWKTd6eOIZeJbXy0ABa715lNc7GLSrSizGmWgULlp6lrsWTwG9VcbMIPnRA2lSb--nwXQBDY4xgCWPvIHT7FtXQ2DZW8NymHtryQ4VUHreEyCEgJ0EEZ-eR989JmbK4VfzOcKoyItbf0HfSzYPh-2vUeSufijTRFU2HrKW4F2qvzKLezkoYjtdtA9ce400gMPTW1S3sjjW5bX5agX_lcOVxktKm8PAAhFoYy6sG70YuRT19Jk6vyNubSXPPCsrGtdrzjAQVKvpMrQ", "token_type": "Bearer", "expires_in": 7200000, "expires_at": "2020-06-09T23:31:49Z", "token_in": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJQktGOF9BUF9LdnRkNl83WTRfNHowNXZYMTZuWk1PUjZBNWNrNzBmWGE0In0.eyJqdGkiOiI5ZjhkZWY3MC00NWIwLTQwMDUtODA1Yi1jYzAzNWYyNDY5MDQiLCJleHAiOjE1OTE3NDU1MDksIm5iZiI6MCwiaWF0IjoxNTkxNzM4MzA5LCJpc3MiOiJodHRwczovL3RkYXAxODE3bTEubGFicy50ZXJhZGF0YS5jb20vYXV0aC9yZWFsbXMvdWRhIiwiYXVkIjoicmVhbG0tbWFuYWdlbWVudCIsInN1YiI6IjY3YmYxMzg4LWE2MjUtNDM0ZC05ZDZlLWZiMmEzOTMzMGJkMiIsInR5cCI6IkJlYXJlciIsImF6cCI6InVzZXItc2VydmljZSIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6IjBiNmY5N2JhLTVhMTctNGI2Yy05ZGE4LWVjZjE5YzIwNWU2MSIsImFjciI6IjEiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsicXVlcnktbWFuYWdlciIsInVzZXItbWFuYWdlciIsImFwcC1tYW5hZ2VyIiwic3lzdGVtLW1hbmFnZXIiLCJzZWNyZXQtbWFuYWdlciIsIm9mZmxpbmVfYWNjZXNzIiwibm90aWZpY2F0aW9uLW1hbmFnZXIiLCJjbGllbnQtbWFuYWdlciIsInNzby1tYW5hZ2VyIiwidW1hX2F1dGhvcml6YXRpb24iLCJzdXBlcnVzZXIiXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIm1hbmFnZS1yZWFsbSIsIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnMiLCJjcmVhdGUtY2xpZW50IiwibWFuYWdlLXVzZXJzIiwibWFuYWdlLWNsaWVudHMiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwic3ViIjoicm9vdCIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwicHJvdmlkZXJJZCI6bnVsbCwibmFtZSI6InJvb3QgdXNlciIsImFkbWluIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJyb290IiwiZ2l2ZW5fbmFtZSI6InJvb3QiLCJmYW1pbHlfbmFtZSI6InVzZXIiLCJsb2NhbCI6dHJ1ZSwidXNlcm5hbWUiOiJyb290In0.JU-wPLWUR4-cPtOvOTF0lRmBV8Cjhe3sIGAmI9dmbDSxFxVDGYBvzFaTC17NE2dbxNLD4ejMwlWKTd6eOIZeJbXy0ABa715lNc7GLSrSizGmWgULlp6lrsWTwG9VcbMIPnRA2lSb--nwXQBDY4xgCWPvIHT7FtXQ2DZW8NymHtryQ4VUHreEyCEgJ0EEZ-eR989JmbK4VfzOcKoyItbf0HfSzYPh-2vUeSufijTRFU2HrKW4F2qvzKLezkoYjtdtA9ce400gMPTW1S3sjjW5bX5agX_lcOVxktKm8PAAhFoYy6sG70YuRT19Jk6vyNubSXPPCsrGtdrzjAQVKvpMrQ", "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIwODc0ZGRkOS0wMzNjLTQ1YTgtYjk0Yi04MmNhZmRhNGM5YmYifQ.eyJqdGkiOiIwYzE1ZmM2Ny01MjQzLTRkNmYtODA1ZC04YWIxYTViZjYwNGEiLCJleHAiOjE1OTE3NDU1MDksIm5iZiI6MCwiaWF0IjoxNTkxNzM4MzA5LCJpc3MiOiJodHRwczovL3RkYXAxODE3bTEubGFicy50ZXJhZGF0YS5jb20vYXV0aC9yZWFsbXMvdWRhIiwiYXVkIjoiaHR0cHM6Ly90ZGFwMTgxN20xLmxhYnMudGVyYWRhdGEuY29tL2F1dGgvcmVhbG1zL3VkYSIsInN1YiI6IjY3YmYxMzg4LWE2MjUtNDM0ZC05ZDZlLWZiMmEzOTMzMGJkMiIsInR5cCI6IlJlZnJlc2giLCJhenAiOiJ1c2VyLXNlcnZpY2UiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiIwYjZmOTdiYS01YTE3LTRiNmMtOWRhOC1lY2YxOWMyMDVlNjEiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsicXVlcnktbWFuYWdlciIsInVzZXItbWFuYWdlciIsImFwcC1tYW5hZ2VyIiwic3lzdGVtLW1hbmFnZXIiLCJzZWNyZXQtbWFuYWdlciIsIm9mZmxpbmVfYWNjZXNzIiwibm90aWZpY2F0aW9uLW1hbmFnZXIiLCJjbGllbnQtbWFuYWdlciIsInNzby1tYW5hZ2VyIiwidW1hX2F1dGhvcml6YXRpb24iLCJzdXBlcnVzZXIiXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIm1hbmFnZS1yZWFsbSIsIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnMiLCJjcmVhdGUtY2xpZW50IiwibWFuYWdlLXVzZXJzIiwibWFuYWdlLWNsaWVudHMiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIn0.HQNmg-l0nDrrXHaoLtzYedKUh0YvAe2k_Qp1kt4fy4w" }
Get the JWT token (token1). In this case, "eyJ....LKG".
A token is valid for two hours from the time of issue. When the token expires, delete the cache or stored copy and obtain a new token.