Advanced Setup (Manual Mode)
For developers who want to run frontend components separately without using make run commands.
Installing Dependencies
- Navigate to the ThunderID frontend directory.
cd frontend
- 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:
SKIP_SECURITY=true \
API_BASE="https://localhost:8090" \
backend/cmd/server/bootstrap/01-default-resources.sh \
--console-redirect-uris "https://localhost:5191/console"
Setting up the ThunderID Gate Application
-
Point the
gate_clientindeployment.yamlto the local ThunderID Gate application.- If you are running
make run, change thegate_clientsection inbackend/cmd/server/deployment.yaml - If you are running the backend server manually, change the
gate_clientsection in<THUNDERID_HOME>/deployment.yaml
- If you are running
gate_client:
port: 5190
- Add the local development origin of the ThunderID Gate application (https://localhost:5190) to the CORS allowed origins in
<THUNDERID_HOME>/deployment.yaml.
cors:
allowed_origins:
- "https://localhost:5190"
- 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.
- First, retrieve the application ID of the Console application from the ThunderID server. This will be the application with the
client_idCONSOLE.
curl -k -X GET "https://localhost:8090/applications"
- 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.
- Copy the response from step 2 and update the
redirectUrisin the JSON object to include the local development URL (ex: https://localhost:5191/console). Locate theinboundAuthConfig > configsection and update theredirectUrisarray:
"redirectUris": [
"https://localhost:8090/console",
"https://localhost:5191/console"
]
- 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>'
- Add the local development origin of the console application (https://localhost:5191) to the CORS allowed origins in
<THUNDERID_HOME>/deployment.yaml.
cors:
allowed_origins:
- "https://localhost:5191"
- Run the ThunderID Console application.
pnpm --filter @thunderid/console dev
This will run the ThunderID Console application on https://localhost:5191/console.