OIDC Integration Testing Strategy
This article describes the recommended strategy for testing OIDC integrations in a local development setup between apps and Quollix.
Theory
- Quollix acts as the OIDC provider. Apps act as OIDC clients.
- Apps started by Quollix resolve the OIDC provider via the domain
quollix.<host>inside the shared Docker network. - Many OIDC clients require the provider’s endpoints to be served over HTTPS with a valid TLS certificate.
- Quollix’s well-known endpoint is available at
quollix.<host>/.well-known/openid-configuration. - While some apps may allow self-signed certificates, using a valid certificate is the safest option and avoids the need to relax or disable client-side TLS verification.
- Quollix can automatically generate and manage certificates for a test domain, making it easy to reproduce a production-like setup locally.
Practice
- Add a DNS entry for your test domain in
/etc/hosts(e.g. we usequollix.test.quollix.org → 127.0.0.1) - Start Quollix in PROD mode using the CI runner.
- Open the settings in the Quollix UI and set your test domain as the host. For example, we use
test.quollix.org. - Generate a TLS certificate via the DNS-01 challenge.
- Download the generated certificate (
certificate.pem). - Stop Quollix and restart it in TEST mode.
- Set the host again and upload the previously downloaded certificate.
- Restart your browser and revisit Quollix under
quollix.<test-domain>(for examplequollix.test.quollix.org). - Install and start your app via the mocked App Store and verify that the OIDC login flow works as expected.