Authentication for classic databases

This information applies to only classic databases.

Classic databases were created before 4 March 2021. These databases have fixed compute and storage capabilities and do not include the latest authentication version.

To authenticate your DataStax Astra DB classic database, generate an authorization token. You’ll use this token to authenticate with your database and make additional requests, such as creating tables or adding rows.

Use the authorization endpoint to generate the token. For the following examples, we’ll use cURL commands. If you’re making requests from your application, use the code samples described in the authorization endpoint details.

The authorization token is active for 30 minutes from the most recent request made. If no request has been made within 30 minutes, the authorization token expires.

  1. Open a browser, navigate to Astra DB, and log in.

  2. From your Dashboard page, select your database.

  3. Copy the Cluster ID of your database. You can also find the Cluster ID in the URL, which is the last UUID in the path: https://astra.datastax.com/org/{org-Id}/database/{databaseid}

  4. Add the Cluster ID as an environment variable with the following command:

  • Set environment variable

  • Example

export ASTRA_CLUSTER_ID={databaseid}
export ASTRA_CLUSTER_ID=b5285f63-8da5-4c6e-afd8-ade371a48795
  1. Copy the Region of your database, the region where your database is located.

  2. Add the Region as an environment variable with the following command:

  • Set environment variable

  • Example

export ASTRA_CLUSTER_REGION={region}
export ASTRA_CLUSTER_REGION=us-east1
  1. Add your username, keyspace, and your password as environment variables with the following command:

  • Set environment variable

  • Example

export ASTRA_DB_USERNAME={username}
export ASTRA_DB_KEYSPACE={keyspace}
export ASTRA_DB_PASSWORD={password}
export ASTRA_DB_USERNAME=john.smith@datastax.com
export ASTRA_DB_KEYSPACE=users
export ASTRA_DB_PASSWORD=P@ssw0rd
  1. Use printenv to ensure the environment variables were exported.

  2. Run the entire cURL command with the values for your database:

    • Replace db_username with your database username.

    • Replace db_password with your database password.

    • Optional: Add a unique UUID for the authorization request:

curl --request POST \\
 --url https://${ASTRA_CLUSTER_ID}-${ASTRA_CLUSTER_REGION}.apps.astra.datastax.com/api/rest/v1/auth \
 --header 'Content-Type: application/json' \
 --data '{"username":"'"$ASTRA_DB_USERNAME"'", "password":"'"$ASTRA_DB_PASSWORD"'"}'
 --header 'x-cassandra-request-id: {unique-UUID}

Consider using a tool like this Online UUID generator to quickly create a random UUID to pass with your authorization request.

An authorization token is returned:

{"authToken": "37396a44-dcb8-4740-a97f-79f0dba47973"}
  1. Copy the value of the returned authToken and store the authorization token in the ASTRA_AUTHORIZATION_TOKEN environment variable:

  • Set environment variable

  • Example

export ASTRA_AUTHORIZATION_TOKEN={authToken}
export ASTRA_AUTHORIZATION_TOKEN=37396a44-dcb8-4740-a97f-79f0dba47973

The authorization token must be included when making requests to your database, such as creating tables, adding rows, or modifying columns.

  1. If the authorization token expires, generate a new authorization token and update it in the ASTRA_AUTHORIZATION_TOKEN environment variable.

What’s next?

You can now use your token to connect to the Astra DB APIs. See more about the available APIs: