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.
bash
cd frontend
  1. Install the dependencies using pnpm.
bash
pnpm install

Building the Project​

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

bash
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:

bash
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
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.
yaml
name: cors
value:
allowedOrigins:
- "https://localhost:5190"
  1. Run the ThunderID Gate application.
bash
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.
bash
curl -k -X GET "https://localhost:8090/applications"
  1. Then, get the current Console application configuration:
bash
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:
json
"redirectUris": [
"https://localhost:8090/console",
"https://localhost:5191/console"
]
  1. Update the Console application with the modified configuration by passing the updated JSON directly:
bash
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.
yaml
name: cors
value:
allowedOrigins:
- "https://localhost:5191"
  1. Run the ThunderID Console application.
bash
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.