How to Configure Quick Builder in the Xeni Admin Panel
After setting up JWT token generation and building your validation endpoint, the final SSO configuration step is registering your settings in the Xeni whitelabel admin panel. This tells Quick Builder where to verify tokens and how to identify your platform.
Admin Panel Settings
Navigate to the SSO configuration section in your Xeni whitelabel admin panel. You need to configure three settings:
JWT Validation URL
The full URL of your JWT validation endpoint. Xeni sends a POST request to this URL each time a user accesses Quick Builder with a token.
| Setting | Value |
|---|---|
| Field name | JWT Validation URL |
| Example value | https://api.yourplatform.com/api/jwt-validation/validate |
| Requirements | Must be a valid HTTPS URL. Must accept POST requests with a JSON body. |
JWT Token Field
The name of the field in the request body that contains the JWT token. This should match the field name your validation endpoint expects.
| Setting | Value |
|---|---|
| Field name | JWT Token Field |
| Default value | JWTtoken |
| Description | The key name Xeni uses when sending the token to your validation endpoint |
Important: If your validation endpoint expects the token in a field named
jwtToken (camelCase), make sure the Token Field setting matches. The default value is JWTtoken — update it if your endpoint uses a different field name.
Issuer Domain
The domain or identifier that matches the iss claim in your JWT tokens. Xeni uses this to verify that tokens originate from your platform.
| Setting | Value |
|---|---|
| Field name | Issuer Domain |
| Example value | partner-app.example.com |
| Requirements | Must match the iss claim in your JWT payload exactly |
Configuration Example
If your JWT tokens are generated with the following payload:
{
"iss": "partner-app.example.com",
"iat": 1740000000,
"exp": 1740001800,
"userid": "usrabc123",
"email": "jane.doe@example.com",
"first_name": "Jane",
"last_name": "Doe"
}And your validation endpoint is at https://api.yourplatform.com/api/jwt-validation/validate, then configure:
| Admin Panel Field | Value |
|---|---|
| JWT Validation URL | https://api.yourplatform.com/api/jwt-validation/validate |
| JWT Token Field | jwtToken |
| Issuer Domain | partner-app.example.com |
Testing the Configuration
After saving your admin panel settings, verify the full SSO flow:
- Generate a test token — Create a JWT with valid claims and a short expiry (e.g., 5 minutes).
- Build the SSO URL — Construct the redirect URL with your token:
https://your-xeni-domain.com/sso?token={JWT_TOKEN}&navigateTo=%2Fhotels%2Fsearch
- Open the URL in a browser — You should be redirected into the Quick Builder interface as the authenticated user.
- Check your validation endpoint logs — Confirm that Xeni sent a POST request and received a 200 response.
Troubleshooting
| Issue | Likely Cause | Solution |
|---|---|---|
| SSO redirect returns an error | Validation URL is incorrect or unreachable | Verify the URL is correct, publicly accessible, and responds to POST requests |
| Token field mismatch | Admin panel Token Field does not match your endpoint | Ensure the Token Field setting matches the field name your endpoint expects |
| Issuer validation fails | iss claim does not match Issuer Domain | Verify the Issuer Domain in the admin panel matches the iss value in your tokens exactly |
| Endpoint returns 401 | Token is expired or secret key mismatch | Check token expiry and confirm both systems use the same secret key |
| Endpoint times out | Server is slow or endpoint URL is wrong | Ensure your endpoint responds within a few seconds and the URL path is correct |
Next Steps
With SSO fully configured, your users can now access Quick Builder. The next step is integrating hotel search to let users find and browse properties within the booking engine.