Configuring JWT Accounts

On this Page

You can create an account from Designer or Manager. In Designer, when working on pipelines, every Snap that needs an account prompts you to create a new account or use an existing account. The accounts can be created in or used from:

  • Your private project folder: This folder contains the pipelines that will use the account.

  • Your Project Space’s shared folder: This folder is accessible to all the users that belong to the Project Space.

  • The global shared folder: This folder is accessible to all the users within an organization in the SnapLogic instance.

Account Configuration

In Manager, you can navigate to the required folder and create an account in it (see Accounts). To create an account for binary files:

  1. Click Create, then select JWT, then JWT Account.

  2. Supply an account label.

  3. Supply the necessary information.

  4. (Optional) Supply additional information on this account in the Notes field of the Info tab.

  5. Click Apply.

Account Types

JWT Account

Account Settings

jwt-account-settings-overview.png

 

Field

Field Type

Description

Label*

Default Value: None
Example: JWT Account

String

Specify a unique label for the account.

JWT Issuer*


Default value: pipe.projectPath + '/' + pipe.label

String/Expression

Specify the principal entity that issues the JWT.

 

Token TTL (seconds)*


Default value: 3600
Example: 6000

Integer

Specify the duration (in seconds) for which the token will be valid.

Minimum value: 60

 

Secret type

Default Value: KeyStore
Example: Secret key

Dropdown list

Choose the Secret type. The available options are:

  • KeyStore

  • Secret key

Key Store

 

Default Value: None
Example: keystore.jks

String/Expression

Specify the location of the Key Store file, can be in SLDB, on the host machine that is hosting the JCC, or any other unauthenticated endpoint such as https. 

KeyStore password

 

Default Value: None
Example: keystorepswd1

String

Appears when you select KeyStore for Secret type.

Specify the password for keystore. If the key associated with the alias has a password, that password should be the same as this KeyStore password.



Key Alias

Default Value: None
Example: mykeyalias

String/Suggestion

Appears when you select KeyStore for Secret type.

The alias of the secret key to use when signing token. 

 

Secret key


Default Value: None
Example: secRETkey007!

String/Expression

Appears when you select Secret key for Secret type.

Specify the secret key to use to generate digital signatures.

This field allows pipeline parameters. When you select a secret key, a JWT token is generated, which must be verified using a JWT Validate Snap.

Troubleshooting

Error

Reason

Resolution

Error

Reason

Resolution

Error retrieving key for alias from KeyStore.

Either the configuration is invalid or the key alias is missing.

Verify that the KeyStore parameters in the account settings are accurate and that it contains the secret key associated with the specified alias.

Key store load error.

The KeyStore specified is incorrect.

Ensure the provided KeyStore password and type are correct and match the KeyStore requirements.

Account Encryption

Standard Encryption

If you are using Standard Encryption, the High sensitivity settings under Enhanced Encryption are followed.

Enhanced Encryption

If you have the Enhanced Account Encryption feature, the following describes which fields are encrypted for each sensitivity level selected per each account.

  • High: KeyStore password

  • Medium + High: KeyStore password

  • Low + Medium + High:  KeyStore password

Regarding KeyStore

There are multiple ways to specify the Key Store. It can be:

  1. Located on SLFS (by uploading the Key Store file)

  2. On the host machine that is hosting the JCC

  3. On an accessible web location

To generate a Key Store file, one can use the keytool utility that comes packaged with JDKs. Here're some useful keytool commands:

  • To create a key store with an AES key

    keytool -genseckey -keystore <keystore file name> -storetype jceks -storepass <store password> -keyalg AES -keysize 256 -alias <key alias>
  • To create a key store with 512 bit key

    keytool -genseckey -keystore <keystore file name> -storetype jceks -storepass <store password> -keyalg HMACSHA1 -keysize 512 -alias <key alias>
  • To import keys from one key store to another

    keytool -importkeystore -srckeystore <src keystore file> -srcstoretype jceks -destkeystore <dest keystore file> -deststoretype jceks -deststorepass <dest store password>
  • To update the password for a key in a keystore

  • To list keys in a key store file