Skip to content

Releases: brionmario/thunderid

Thunder v0.0.13

19 Oct 14:13

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues
codecov.io

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.13 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.13 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.13-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.13-macos-x64.zip
Linux x64 thunder-0.0.13-linux-x64.zip
Linux ARM64 thunder-0.0.13-linux-arm64.zip
Windows x64 thunder-0.0.13-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.13-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.13-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.13
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      -p 9090:9090 \
      ghcr.io/asgardeo/thunder:0.0.13

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.13

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.13

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.13 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.13-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.13-macos-x64.zip
Linux x64 sample-app-0.0.13-linux-x64.zip
Linux ARM64 sample-app-0.0.13-linux-arm64.zip
Windows x64 sample-app-0.0.13-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.13-<os>-<arch>.zip
    cd sample-app-0.0.13-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.13--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
              ...
Read more

Thunder v0.0.12

18 Oct 01:20

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues
codecov.io

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.12 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.12 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.12-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.12-macos-x64.zip
Linux x64 thunder-0.0.12-linux-x64.zip
Linux ARM64 thunder-0.0.12-linux-arm64.zip
Windows x64 thunder-0.0.12-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.12-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.12-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.12
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      ghcr.io/asgardeo/thunder:0.0.12

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.12

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.12

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.12 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.12-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.12-macos-x64.zip
Linux x64 sample-app-0.0.12-linux-x64.zip
Linux ARM64 sample-app-0.0.12-linux-arm64.zip
Windows x64 sample-app-0.0.12-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.12-<os>-<arch>.zip
    cd sample-app-0.0.12-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.12--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
                    "token_endpoint...
Read more

Thunder v0.0.11

18 Oct 00:21

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.11 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.11 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.11-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.11-macos-x64.zip
Linux x64 thunder-0.0.11-linux-x64.zip
Linux ARM64 thunder-0.0.11-linux-arm64.zip
Windows x64 thunder-0.0.11-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.11-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.11-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.11
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      ghcr.io/asgardeo/thunder:0.0.11

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.11

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.11

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.11 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.11-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.11-macos-x64.zip
Linux x64 sample-app-0.0.11-linux-x64.zip
Linux ARM64 sample-app-0.0.11-linux-arm64.zip
Windows x64 sample-app-0.0.11-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.11-<os>-<arch>.zip
    cd sample-app-0.0.11-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.11--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
                    "token_endpoint_auth_methods": [
                        "client_secret_basic",
                        "client_secret_post"
                    ],
        ...
Read more

Thunder v0.0.10

17 Oct 23:14

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.10 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.10 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.10-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.10-macos-x64.zip
Linux x64 thunder-0.0.10-linux-x64.zip
Linux ARM64 thunder-0.0.10-linux-arm64.zip
Windows x64 thunder-0.0.10-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.10-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.10-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.10
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      ghcr.io/asgardeo/thunder:0.0.10

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.10

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.10

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.10 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.10-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.10-macos-x64.zip
Linux x64 sample-app-0.0.10-linux-x64.zip
Linux ARM64 sample-app-0.0.10-linux-arm64.zip
Windows x64 sample-app-0.0.10-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.10-<os>-<arch>.zip
    cd sample-app-0.0.10-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.10--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
                    "token_endpoint_auth_methods": [
                        "client_secret_basic",
                        "client_secret_post"
                    ],
        ...
Read more

Thunder v0.0.8

17 Oct 22:19

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.8 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.8 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.8-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.8-macos-x64.zip
Linux x64 thunder-0.0.8-linux-x64.zip
Linux ARM64 thunder-0.0.8-linux-arm64.zip
Windows x64 thunder-0.0.8-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.8-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.8-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.8
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      ghcr.io/asgardeo/thunder:0.0.8

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.8

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.8

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.8 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.8-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.8-macos-x64.zip
Linux x64 sample-app-0.0.8-linux-x64.zip
Linux ARM64 sample-app-0.0.8-linux-arm64.zip
Windows x64 sample-app-0.0.8-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.8-<os>-<arch>.zip
    cd sample-app-0.0.8-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.8--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
                    "token_endpoint_auth_methods": [
                        "client_secret_basic",
                        "client_secret_post"
                    ],
                    "pkce_required": false,
      ...
Read more

Thunder v0.0.7

17 Oct 21:53

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.7 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.7 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.7-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.7-macos-x64.zip
Linux x64 thunder-0.0.7-linux-x64.zip
Linux ARM64 thunder-0.0.7-linux-arm64.zip
Windows x64 thunder-0.0.7-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.7-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.7-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.7
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      ghcr.io/asgardeo/thunder:0.0.7

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.7

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.7

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.7 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.7-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.7-macos-x64.zip
Linux x64 sample-app-0.0.7-linux-x64.zip
Linux ARM64 sample-app-0.0.7-linux-arm64.zip
Windows x64 sample-app-0.0.7-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.7-<os>-<arch>.zip
    cd sample-app-0.0.7-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.7--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
                    "token_endpoint_auth_methods": [
                        "client_secret_basic",
                        "client_secret_post"
                    ],
                    "pkce_required": false,
      ...
Read more

Thunder v0.0.6

17 Oct 21:36

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.6 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.6 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.6-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.6-macos-x64.zip
Linux x64 thunder-0.0.6-linux-x64.zip
Linux ARM64 thunder-0.0.6-linux-arm64.zip
Windows x64 thunder-0.0.6-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.6-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.6-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.6
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      ghcr.io/asgardeo/thunder:0.0.6

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.6

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.6

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.6 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.6-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.6-macos-x64.zip
Linux x64 sample-app-0.0.6-linux-x64.zip
Linux ARM64 sample-app-0.0.6-linux-arm64.zip
Windows x64 sample-app-0.0.6-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.6-<os>-<arch>.zip
    cd sample-app-0.0.6-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.6--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
                    "token_endpoint_auth_methods": [
                        "client_secret_basic",
                        "client_secret_post"
                    ],
                    "pkce_required": false,
      ...
Read more

Thunder v0.0.5

17 Oct 20:56

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.5 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.5 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.5-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.5-macos-x64.zip
Linux x64 thunder-0.0.5-linux-x64.zip
Linux ARM64 thunder-0.0.5-linux-arm64.zip
Windows x64 thunder-0.0.5-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.5-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.5-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.5
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      ghcr.io/asgardeo/thunder:0.0.5

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.5

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.5

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.5 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.5-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.5-macos-x64.zip
Linux x64 sample-app-0.0.5-linux-x64.zip
Linux ARM64 sample-app-0.0.5-linux-arm64.zip
Windows x64 sample-app-0.0.5-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.5-<os>-<arch>.zip
    cd sample-app-0.0.5-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.5--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
                    "token_endpoint_auth_methods": [
                        "client_secret_basic",
                        "client_secret_post"
                    ],
                    "pkce_required": false,
      ...
Read more

Thunder v0.0.4

17 Oct 17:50

Choose a tag to compare

WSO2 Thunder ⚡

Identity Management Suite

License
GitHub last commit
GitHub issues

Thunder is a modern, open-source identity management service designed for teams building secure, customizable authentication experiences across applications, services, and AI agents. It enables developers to design and orchestrate login, registration, and recovery flows using a flexible identity flow designer.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.

🔀 What's Changed

  • No significant changes.

⚡ Quickstart

This Quickstart guide will help you get started with WSO2 Thunder quickly. It walks you through downloading and running the product, trying out the sample app, and exploring registering a user, logging in, and using the Client Credentials flow.

Download and Run WSO2 Thunder

You can run WSO2 Thunder either by downloading the release artifact or using the official Docker image.

Option 1: Run from Release Artifact

Follow these steps to download the 0.0.4 release of WSO2 Thunder and run it locally.

  1. Download the distribution from the 0.0.4 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) thunder-0.0.4-macos-arm64.zip
macOS x64 (Intel) thunder-0.0.4-macos-x64.zip
Linux x64 thunder-0.0.4-linux-x64.zip
Linux ARM64 thunder-0.0.4-linux-arm64.zip
Windows x64 thunder-0.0.4-win-x64.zip
  1. Unzip the product

    Unzip the downloaded file using the following command:

    unzip thunder-0.0.4-<os>-<arch>.zip

    Navigate to the unzipped directory:

    cd thunder-0.0.4-<os>-<arch>/
  2. Start the product

    Start the product using the following command:

    If you are using a Linux or macOS machine:

    bash start.sh

    If you are using a Windows machine:

    .\start.ps1

Option 2: Run with Docker

Follow these steps to run WSO2 Thunder using Docker.

  1. Pull the Docker image

    docker pull ghcr.io/asgardeo/thunder:0.0.4
  2. Run the container

    docker run --rm \
      -p 8090:8090 \
      ghcr.io/asgardeo/thunder:0.0.4

    Optionally if you want to modify the server configurations, you can mount a custom deployment.yaml file. Create a deployment.yaml file in your working directory similar to the deployment.yaml, and mount it as below:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      ghcr.io/asgardeo/thunder:0.0.4

    Optionally if you want to use custom configurations or certificates, you can mount them as follows:

    docker run --rm \
      -p 8090:8090 \
      -v $(pwd)/deployment.yaml:/opt/thunder/repository/conf/deployment.yaml \
      -v $(pwd)/certs/server.cert:/opt/thunder/repository/resources/security/server.cert \
      -v $(pwd)/certs/server.key:/opt/thunder/repository/resources/security/server.key \
      ghcr.io/asgardeo/thunder:0.0.4

Try Out the Product

Try Out with the Sample App

To quickly get started with Thunder, you can use the sample app provided with the product. This guide demonstrates how to download and run the sample app, self register a user and try out login to the sample app.

Download and Run the Sample App
  1. Download the sample app from the 0.0.4 release
OS Architecture Download Link
macOS ARM64 (Apple Silicon) sample-app-0.0.4-macos-arm64.zip
macOS x64 (Intel) sample-app-0.0.4-macos-x64.zip
Linux x64 sample-app-0.0.4-linux-x64.zip
Linux ARM64 sample-app-0.0.4-linux-arm64.zip
Windows x64 sample-app-0.0.4-win-x64.zip
  1. Unzip and navigate to the sample app directory

    unzip sample-app-0.0.4-<os>-<arch>.zip
    cd sample-app-0.0.4-<os>-<arch>/
  2. Create required application for sample app in Thunder

    Before using the sample app, you need to create an application in Thunder:

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Sample App",
        "description": "Sample application for testing",
        "url": "https://localhost:3000",
        "logo_url": "https://localhost:3000/logo.png",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "registration_flow_graph_id": "registration_flow_config_basic",
        "is_registration_flow_enabled": true,
        "inbound_auth_config": [{
            "type": "oauth2",
            "config": {
                "client_id": "sample_app_client",
                "client_secret": "sample_app_secret",
                "redirect_uris": ["https://localhost:3000"],
                "grant_types": ["authorization_code", "client_credentials"],
                "response_types": ["code"],
                "token_endpoint_auth_methods": ["client_secret_basic", "client_secret_post"],
                "pkce_required": false,
                "public_client": false
            }
        }]
    }'

    Note the id from the response - you'll need it for the sample app configuration.

  3. Configure the sample app

    Open the runtime.json file in the thunder-sample-app-0.0.4--/app directory and update the configurations:

    • applicationID: Use the application ID from step 3
    • flowEndpoint: The root endpoint for the flow execution API (default: https://localhost:8090/flow)
  4. Start the sample app

    sh start.sh

Open your browser and navigate to https://localhost:3000 to see the sample app in action.

Self Register a User

To self register a user in the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000 and click on the "Sign up" button.

  2. Provide a username and password for the new user and click on the "Create Account" button.

    Self Registration Username Password

  3. Fill in the additional user attributes such as first name, last name and email address. Click "Continue" to complete the registration.

    Self Registration Additional Details

  4. After successful registration, you will be automatically logged in to the sample application.

Login to the Sample App

To log in to the sample app, follow these steps:

  1. Open the sample app in your browser at https://localhost:3000.

  2. Enter username and password you used during the self registration process and click on the "Sign In" button.

    Login to Sample App

  3. If the login is successful, you will be redirected to the home page of the sample app with the access token.

Try Out Client Credentials Flow

The Client Credentials flow is used to obtain an access token for machine-to-machine communication. This flow does not require user interaction and is typically used for server-to-server communication.

To try out the Client Credentials flow, follow these steps:

  1. Create a Client Application

    Create a client application in the system to use for the Client Credentials flow. You can use the following cURL command to create a new application.

    curl -kL -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost:8090/applications \
    -d '{
        "name": "Test Sample App",
        "description": "Initial testing App",
        "auth_flow_graph_id": "auth_flow_config_basic",
        "inbound_auth_config": [
            {
                "type": "oauth2",
                "config": {
                    "client_id": "<client_id>",
                    "client_secret": "<client_secret>",
                    "redirect_uris": [
                        "https://localhost:3000"
                    ],
                    "grant_types": [
                        "client_credentials"
                    ],
                    "token_endpoint_auth_methods": [
                        "client_secret_basic",
                        "client_secret_post"
                    ],
                    "pkce_required": false,
      ...
Read more