SSO with Cover Reports
NGINX can be used to secure access to your Cover Reports server using SSO. NGINX provide various setup guides for different SSO providers - see Set Up Single Sign-On for Proxied Applications on the official docs site.
Prerequisites
A server running Cover Reports.
A server running NGINX Plus (this can be the same server as Cover Reports) with a valid subscription.
An SSO provider.
Auth0 considerations
Note the following when setting up NGINX with Auth0. For details of the full process, see Single Sign-On With Auth0 on the NGINX docs site.
On your NGINX Auth0 Dashboard, set the callback URL to
http://<YOUR-NGINX-SERVER-IP>:80/_codexch
(replace<YOUR-NGINX-SERVER-IP>
with the IP address of your NGINX instance).On your NGINX server, update the
upstream
details for Cover Reports in thefrontend.conf
file (replace<YOUR-COVER-REPORTS-SERVER-IP>
with the IP address of your Cover Reports instance):
Also in the
frontend.conf
file, make sure that the NGINX server is listening on port 80 and that yourproxy_pass
destination matches theupstream
value configured above (cover-reports
):
Once SSO has been configured for Cover Reports, port 8080 will still be open, bypassing SSO. To prevent this you will need to close port 8080 which can be done as part of your network configuration. However, blocking port 8080 entirely will prevent reports bundles being uploaded using Cover Pipeline and Cover CLI. We recommend that you add the IP range of your CI runners and Cover CLI users to your network allow-list for port 8080.
Okta considerations
Note the following when setting up NGINX with Okta. For details of the full process, see Single Sign-On With Okta on the NGINX docs site.
On your Okta Application's general settings, set the "Sign-in redirect URI" to
http://<YOUR-NGINX-SERVER-IP>:80/_codexch
(replace<YOUR-NGINX-SERVER-IP>
with the IP address of your NGINX instance).On your NGINX server, update the
upstream
details for Cover Reports in thefrontend.conf
file (replace<YOUR-COVER-REPORTS-SERVER-IP>
with the IP address of your Cover Reports instance):
Also in the
frontend.conf
file, make sure that the NGINX server is listening on port 80 and that yourproxy_pass
destination matches theupstream
value configured above (cover-reports
):
Make sure to include your in your
Client ID
andClient secret
in youropenid_connect_configuration.conf
on your NGINX server. Set theoidc_client
to yourClient ID
andoidc_client_secret
to yourClient secret
.
Once SSO has been configured for Cover Reports, port 8080 will still be open, bypassing SSO. To prevent this you will need to close port 8080 which can be done as part of your network configuration. However, blocking port 8080 entirely will prevent reports bundles being uploaded using Cover Pipeline and Cover CLI. We recommend that you add the IP range of your CI runners and Cover CLI users to your network allow-list for port 8080.
Amazon Cognito considerations
Note the following when setting up NGINX with Amazon Cognito. For details of the full process, see Single Sign-On With Amazon Cognito on the NGINX docs site. At the time of writing the official docs do not reflect the updated web UI for Amazon Cognito, however equivalent fields can still be found for all required configurations.
Amazon Cognito will require you to use HTTPS - a self-signed or CA certificate will be required. On your NGINX server, update the following in the
frontend.conf
file:- SSL listening port.
- IP address of your Cover Reports instance.
- SSL certificate details.
On your NGINX server, update the
upstream
details for Cover Reports in thefrontend.conf
file (replace<YOUR-COVER-REPORTS-SERVER-IP>
with the IP address of your Cover Reports instance):
On your Amazon Cognito Dashboard, set the callback URL to
https://<YOUR-NGINX-SERVER-IP>:443/_codexch
(replace<YOUR-NGINX-SERVER-IP>
with the IP address of your NGINX instance).Once SSO has been configured for Cover Reports, port 8080 will still be open, bypassing SSO. To prevent this you will need to close port 8080 which can be done as part of your network configuration. However, blocking port 8080 entirely will prevent reports bundles being uploaded using Cover Pipeline and Cover CLI. We recommend that you add the IP range of your CI runners and Cover CLI users to your network allow-list for port 8080.
Last updated