Your Agent Audit endpoints.
Every IdP needs to know where to redirect to after sign-in. Paste these two values into your IdP's OAuth or SAML application configuration verbatim — trailing slash matters.
https://www.agentaudit.co.uk/api/auth/sso/oidc/callback
https://www.agentaudit.co.uk/api/auth/sso/saml/acs
https://www.agentaudit.co.uk
Set up OIDC.
Pick the IdP you use. Each tab tells you exactly which buttons to click and what to copy back.
1. Create the OAuth 2.0 Client in Google Cloud
- Open Google Cloud Console → APIs & Services → Credentials.
- Click Create credentials → OAuth client ID.
- If asked, configure the consent screen first (Internal, app name "Agent Audit", logo optional).
- Application type: Web application.
- Name:
Agent Audit. - Authorised JavaScript origins → add
https://www.agentaudit.co.uk. - Authorised redirect URIs → add
https://www.agentaudit.co.uk/api/auth/sso/oidc/callback. - Click Create.
Google shows you the Client ID (long, ends in .apps.googleusercontent.com) and the Client secret (starts GOCSPX-).
2. Values for the Agent Audit form
- Issuer URL:
https://accounts.google.com - Client ID: the long
…apps.googleusercontent.comstring - Client secret: the
GOCSPX-…string - Email domain: the domain users sign in with (eg.
vpnetworks.co.uk)
1. Register Agent Audit in Microsoft Entra ID
- Open Microsoft Entra admin centre → Identity → Applications → App registrations.
- Click New registration.
- Name:
Agent Audit. - Supported account types: Single tenant (or multi-tenant if you sell to your customers' tenants too).
- Redirect URI: Web, value
https://www.agentaudit.co.uk/api/auth/sso/oidc/callback. - Register.
2. Mint a client secret
- In the new app → Certificates & secrets → New client secret.
- Description:
Agent Audit SSO. Expires: 12-24 months (per your policy). - Copy the Value column right now — you cannot view it again later.
3. Values for the Agent Audit form
- Issuer URL:
https://login.microsoftonline.com/<your-tenant-id>/v2.0— the tenant id is on the app's Overview page as Directory (tenant) ID. - Client ID: the Application (client) ID on the Overview page (a UUID).
- Client secret: the Value you copied above.
- Email domain: the domain users sign in with.
https://login.microsoftonline.com/common/v2.0 as the issuer. That works for sign-in but the JWS validation rejects the resulting ID token because iss in the token is the per-tenant URL. Always use your tenant id in the issuer.
1. Create an OIDC Web App in Okta
- Sign in to your Okta admin console.
- Applications → Applications → Create App Integration.
- Sign-in method: OIDC — OpenID Connect. Application type: Web Application.
- Name:
Agent Audit. - Grant type: Authorization Code.
- Sign-in redirect URIs:
https://www.agentaudit.co.uk/api/auth/sso/oidc/callback. - Sign-out redirect URIs (optional):
https://www.agentaudit.co.uk/dashboard/login/. - Controlled access: pick the group(s) that should be allowed to sign in.
- Save. Okta shows you the Client ID and Client secret.
2. Values for the Agent Audit form
- Issuer URL:
https://<your-org>.okta.com(or the custom authorisation-server URL if you configured one). - Client ID: from the Okta app's General tab.
- Client secret: from the Okta app's General tab.
- Email domain: the domain users sign in with.
1. Create a Regular Web Application in Auth0
- Open Auth0 Dashboard.
- Applications → Create Application.
- Name:
Agent Audit. Type: Regular Web Applications. - On the new app → Settings tab.
- Allowed Callback URLs:
https://www.agentaudit.co.uk/api/auth/sso/oidc/callback. - Allowed Logout URLs:
https://www.agentaudit.co.uk/dashboard/login/. - Save changes.
2. Values for the Agent Audit form
- Issuer URL:
https://<your-tenant>.auth0.com/— note the trailing slash; Auth0 includes it iniss. - Client ID: from the Settings tab.
- Client secret: from the Settings tab.
- Email domain: the domain users sign in with.
Set up SAML 2.0.
Use SAML if your IdP doesn't expose OIDC, or if your security team mandates it. Agent Audit accepts XML-DSIG-signed AuthnResponses against the certificate you upload; assertions are single-use within their provider (anti-replay).
1. Create a SAML 2.0 App in Okta
- Applications → Create App Integration → SAML 2.0.
- Name:
Agent Audit. - Single sign on URL:
https://www.agentaudit.co.uk/api/auth/sso/saml/acs. - Audience URI (SP Entity ID):
https://www.agentaudit.co.uk. - Name ID format: EmailAddress. Application username: Email.
- Attribute statements (add):
email→user.email;displayName→user.displayName. - Finish, then on the app's Sign On tab click View SAML setup instructions.
2. Values for the Agent Audit form
- IdP SSO URL: the Identity Provider Single Sign-On URL Okta gives you.
- Entity ID: Okta's Identity Provider Issuer.
- IdP X.509 certificate (PEM): the PEM-formatted certificate Okta gives you (begins
-----BEGIN CERTIFICATE-----).
1. Enable SAML on an Enterprise app
- Entra admin centre → Enterprise applications → New application → Create your own application.
- Name:
Agent Audit. Choose Integrate any other application you don't find in the gallery. - On the new app → Single sign-on → SAML.
- Basic SAML Configuration:
- Identifier (Entity ID):
https://www.agentaudit.co.uk - Reply URL (ACS):
https://www.agentaudit.co.uk/api/auth/sso/saml/acs
- Identifier (Entity ID):
- Attributes & Claims: keep the default
emailaddress; adddisplayNameif you want. - SAML Certificates → download the Certificate (Base64).
2. Values for the Agent Audit form
- IdP SSO URL: the Login URL from the Set up section.
- Entity ID: the Azure AD Identifier from the Set up section.
- IdP X.509 certificate (PEM): the contents of the downloaded Certificate (Base64).
1. Any SAML 2.0 IdP
Configure your IdP to send an AuthnResponse to the ACS URL with the SP Entity ID below. The response (or assertion) must be XML-DSIG signed with one of:
- RSA-SHA256 / SHA384 / SHA512
- ECDSA-SHA256 / SHA384 / SHA512
SHA-1 signatures are explicitly rejected.
2. Required claims
- NameID: emailAddress format, or an attribute named
email/mail. - Issuer: must match the Entity ID configured in Agent Audit.
- AudienceRestriction: must include
https://www.agentaudit.co.uk. - Conditions.NotBefore / NotOnOrAfter: a clock-skew of 120s is allowed.
- SubjectConfirmationData.NotOnOrAfter: in the future.
Save the provider in Agent Audit.
- Sign in to /dashboard/ as an admin.
- Open Settings → Identity.
- Click Kind → pick OIDC or SAML 2.0.
- Paste the values you collected above.
- Click Save provider.
The Email-domain field is forgiving — if you paste a full email like hak@yourco.com we strip the local part and store yourco.com.
Test sign-in.
- Open an incognito browser tab.
- Go to /dashboard/login/.
- Enter your email — note the domain must match the provider's email domain exactly.
- You should be redirected to your IdP, sign in, and land on the dashboard.
?error=sso_aud) — see the next section.
Troubleshooting.
If sign-in fails, the URL bar shows a stable error code. Common ones:
?error=no_sso— the email's domain has no SSO provider configured. Check the Email-domain value.?error=sso_unreachable— we couldn't fetch/.well-known/openid-configurationfrom the issuer. Check the Issuer URL is correct and the IdP is reachable.?error=sso_token— the IdP rejected the code exchange. Usually a wrong Client ID or Client secret. Re-mint the secret in the IdP and re-save.?error=sso_aud— the ID token's audience doesn't match the Client ID. Make sure the same Client ID is used in both the IdP and Agent Audit.?error=sso_id_token— JWS signature verification failed. Usually a JWKS-URL/issuer mismatch — confirm your issuer value matches theissclaim the IdP issues.?error=sso_nonce— the nonce binding broke. Often a same-site cookie block from a privacy extension. Try a clean browser profile.?error=saml_signature_invalid— the AuthnResponse signature failed verification. Confirm the certificate uploaded in Agent Audit matches the one the IdP is signing with.?error=saml_audience_mismatch— the AudienceRestriction in the assertion doesn't include our Entity ID. Set it tohttps://www.agentaudit.co.uk.
Everything else: email us with the error code and we'll dig in.