Skip to main content

Advanced Setup (Manual Mode)

For developers who want to run frontend components separately without using make run commands.

Installing Dependencies

  1. Navigate to the ThunderID frontend directory.
cd frontend
  1. Install the dependencies using pnpm.
pnpm install

Building the Project

Execute the build command to compile the project. This will build all the necessary packages and applications.

pnpm build

Seed Data (Optional)

Note: This step is only necessary if you are running the backend server manually and have not yet set up the initial data.

If you have not already created the Console application and the default admin user, you can do so by running the following command:

PUBLIC_URL="https://localhost:8090" \
go run -C backend/cmd/server . bootstrap \
--console-redirect-uris "https://localhost:5191/console"

This runs the in-process bootstrap subcommand, which creates the default resources (including the Console application and the default admin user) directly through the service layer. No temporary server or security bypass is involved, and it is idempotent if re-run.

Setting up the ThunderID Gate Application

  1. Point the gate_client in deployment.yaml to the local ThunderID Gate application.

    • If you are running make run, change the gate_client section in backend/cmd/server/deployment.yaml
    • If you are running the backend server manually, change the gate_client section in <THUNDERID_HOME>/deployment.yaml
gate_client:
port: 5190
  1. Add the local Gate origin (https://localhost:5190) to the CORS resource. In a source checkout, use backend/cmd/server/config/resources/server_configs/cors.yaml; in a packaged distribution, use <THUNDERID_HOME>/config/resources/server_configs/cors.yaml.
name: cors
value:
allowedOrigins:
- "https://localhost:5190"
  1. Run the ThunderID Gate application.
cd frontend
pnpm --filter @thunderid/gate dev

Setting up the ThunderID Console Application

IMPORTANT: This section assumes that you have already created the Console application using the initial data setup script. If not, please refer to the Seed Data section above.

  1. First, retrieve the application ID of the Console application from the ThunderID server. This will be the application with the client_id CONSOLE.
curl -k -X GET "https://localhost:8090/applications"
  1. Then, get the current Console application configuration:
curl -k -X GET "https://localhost:8090/applications/<console-application-id>"

Note: Replace <console-application-id> with the actual application ID (e.g., 6100bc91-ba99-4ce9-87dd-6d4d80178c38) obtained from the previous step. The -k flag allows curl to work with self-signed SSL certificates in development.

  1. Copy the response from step 2 and update the redirectUris in the JSON object to include the local development URL (ex: https://localhost:5191/console). Locate the inboundAuthConfig > config section and update the redirectUris array:
"redirectUris": [
"https://localhost:8090/console",
"https://localhost:5191/console"
]
  1. Update the Console application with the modified configuration by passing the updated JSON directly:
curl -k -X PUT "https://localhost:8090/applications/<console-application-id>" \
-H "Content-Type: application/json" \
-d '<paste-the-modified-json-here>'
  1. Add the local Console origin (https://localhost:5191) to the CORS resource. In a source checkout, use backend/cmd/server/config/resources/server_configs/cors.yaml; in a packaged distribution, use <THUNDERID_HOME>/config/resources/server_configs/cors.yaml.
name: cors
value:
allowedOrigins:
- "https://localhost:5191"
  1. Run the ThunderID Console application.
pnpm --filter @thunderid/console dev

This will run the ThunderID Console application on https://localhost:5191/console.

Explore with AI

ThunderID LogoThunderID Logo

Product

DocsAPIsSDKs
© Copyright Linux Foundation Europe.For web site terms of use, trademark policy and other project policies please see https://linuxfoundation.eu/en/policies.