Set callback and redirect URLs
Get started
Use a custom domain with Kinde and add trust to your users. Follow the steps below:
This is a guide for setting up a custom domain for your Kinde business. If you are setting up custom domains for your organizations, then see this guide: Custom domain for organizations.
Go to your Kinde dashboard > Settings > Environment > Custom domains.
Select Add custom domain.
In the dialog, enter your custom domain. Be sure to include the subdomain, for example auth.yourbusiness.com.
Select Save. DNS details appear.
Copy the CNAME records for your domain control panel. See the next step.
DNS settings vary from provider to provider. Here are the general steps:
Go to your domain provider website.
Select your domain, and select Update DNS configuration.
Select Add record and enter the following:
CNAMEauthIf you are using Cloudflare, you need to add a DNS-only record, not proxied.
Select Save.
Repeat the process for the other CNAME record.
Domain provider specific instructions:
Once you have created the DNS entries, Kinde will start the verification process. This can take anywhere from a few minutes to a couple of hours. You will see Provisioning in progress next to your custom domain:
When it completes, the verification status will change to Provisioned and an SSL certificate will be provisioned.
Your domain will then be used instead of Kinde’s. You will also receive an email notification when the process is complete.
Go to your Kinde dashboard > select View details for any of your applications.
Select Details.
The custom domain will be listed under App keys section.
Your next step is to update your code to use the custom domain.
If you encounter any errors during the setup, see the troubleshooting tips below.
If your domain has CAA (Certificate Authority Authorization) records, they restrict which certificate authorities can issue SSL certificates for your domain. Kinde provisions and renews certificates using ZeroSSL and Let’s Encrypt, so you must allow both in your CAA records or certificate issuance will fail.
Add CAA records that authorize both providers. For your custom domain (or the subdomain you use, e.g. auth), add two CAA records like this:
| Host | Record type | Value |
|---|---|---|
auth (or your subdomain) | CAA | 0 issue "sectigo.com" |
auth (or your subdomain) | CAA | 0 issue "letsencrypt.org" |
If you only list one CA in your CAA records, add the other. If you have no CAA records, you don’t need to add any; certificate issuance will work as normal.
When you use social connections to authenticate users, you need to add the callback URL to the provider app so that the custom domain shows on the sign-in form, instead of kinde.com.
If you haven’t set this up, follow these instructions for the relevant social provider.
If you already have social auth set up, make sure you add the custom domain callback (e.g. auth.yourbusiness.com/login/callback) as an authorized redirect URI in the provider app.
If you are using a multi-level subdomain, like multi.subdomain.yourbusiness.com, how you set up DNS records will depend on how your zones are set up.
The details provided in the admin console assume the domain entered is adding a single level to your DNS zone, but if you are adding more than one level you’ll need to create others.
So if your business is multi.subdomain.yourbusiness.com and your zone is yourbusiness.com, you need to create a DNS entry for multi.subdomain, as well as for _acme-challenge.multi.subdomain.
There are many different ways people manage multi-level domains and zones, and unfortunately we can’t cover all variations in these instructions. Please contact Kinde support if you need help.
Chrome can block your custom domain with a red Dangerous site page. Users cannot open the sign-in screen on that domain.
Google Safe Browsing shows this warning. It is usually not an SSL problem. Your certificate can be valid and the warning can still appear. To rule out setup issues, see Check verification status in Kinde.
Common reasons Google may flag the domain:
Your Kinde domain looks like your_subdomain.kinde.com. You chose it when you created your account. Find it in Kinde under Settings > Business > Details.
Open that domain in a private browser window. If the sign-in page loads there and Chrome only blocks the custom domain, your Kinde account is fine. The warning is on the new domain name.
You own the domain, so the review has to come from you.
Kinde cannot send this review for you.
Keep the custom domain in Kinde. Do not delete it.
In your app’s config, change the Kinde domain (often set as KINDE_ISSUER_URL) to your Kinde subdomain:
https://your_subdomain.kinde.com
Leave your app URL and your callback URLs as they are.
Users will need to sign in again. Sign-in on the Kinde domain does not carry over to the custom domain, or back again.
If you use your own Google, GitHub, or other social app, add this redirect URL in that app:
https://your_subdomain.kinde.com/login/callback
https://auth.example.com._acme-challenge DNS records in place.Users will need to sign in again.
Also check Design > Brand in Kinde. The page title, favicon, and logo on the sign-in page should match your product.
Add and verify your custom domain in Google Search Console as soon as you set it up. Google will notify you if the domain is ever flagged, and having a verified domain may also be a positive signal to Google.
The verification process can take anywhere from 5 minutes to a few hours, depending on who your domain provider is. If it’s taking longer than expected, check your DNS records are correct on your provider site.
Using a custom domain on Kinde gives your users a seamless experience, improves branding, and helps with security.
By default, Kinde issues a Kinde subdomain when you first register. But for your production environment you can use your own custom domain instead of Kinde’s as your URL. For example, auth.yourbusiness.com instead of your_business.kinde.com.
Here’s why you might want to use a custom domain:
Even if you use custom domains, you need to use your Kinde domain for Kinde Management API access and machine-to-machine applications.
Yes, the challenge DNS record needs to remain in place after verification in order for us to renew your SSL certificate on an ongoing basis.
Currently, Kinde only supports *.localhost for non-https traffic.
account, id, or auth, e.g. auth.yourbusiness.com.KINDE_ISSUER_URL needs to be updated to the custom domain.KINDE_ISSUER_URL, to use the custom domain.Auth endpoints are available for both custom domains and your Kinde subdomain. You can get tokens from either endpoint, but they are not interchangeable. For example, if you get an ID and access token from auth.yourbusiness.com, it cannot be used with your_business.kinde.com.
When you create the DNS records for linking your own domain to Kinde, be sure to match the format you have used above.
For example, if your custom domain is auth.yourbusiness.com, then:
authCNAMEIf you need help, contact Kinde support.