Manage enterprise connections
Auth and access
In Kinde, you can use SAML as your authentication protocol. Kinde acts as a service provider (SP), so you still need to bring your own identity provider (IdP) to set it up. Identity providers can include Google, Microsoft, Cloudflare, and others.
Note: Since there are differences between set ups for each IdP, we are unable to provide full details on how to configure them all to connect with Kinde. However, the fields we mention below, should have similar names in your IdP. Some concepts are explained in the advanced SAML configurations topic.
Before you set up SAML, you can import users in bulk, add them via API, or manually in Kinde. Alternatively, you can also take advantage of just-in-time (JIT) provisioning (Step 13 below) when you set up the connection.
You can increase SAML security by adding a certificate and private key pair to your setup. Your IdP will check that the certificate and private key matches, each time a user authenticates this way.
You can obtain the certificate and key from your IdP or you can generate yourself, see below.
openssl req -x509 -nodes -sha256 -days 3650 -newkey rsa:2048 -keyout private_key.key -out certificate.crt
.Depending on your SAML set up, you may need to include advanced configurations for your connection. See Advanced SAML configurations
Enter a name for the connection. It must match the name in your SAML setup.
Enter an Entity ID. This is a value you can make up using a random alphanumeric string, e.g. 5836g209gbhw09r8y0913
. The Entity ID you enter here must be configured exactly the same in your identity provider (unless your IdP is Microsoft Azure).
If Microsoft is your provider and your app is a bit older, you may need to add spn:
to the beginning of the Entity ID string in Kinde, e.g. spn:5836g209gbhw09r8y0913
. This is not required for newly created apps.
Enter the IdP metadata URL. This URL comes from your identity provider.
Enter a sign in URL if your IdP requires a specific URL.
If you want, select the Sign request algorithm and Protocol binding. The options you choose will depend on what your identity provider prefers or requires.
Select a Name ID format. This helps identify and link user identities between your IdP and Kinde.
Enter an Email key attribute. This is the attribute in the SAML token that contains the user’s email. Setting this value ensures that the email address returned in the SAML response is correctly retrieved. We do not recommend leaving this field blank, but if you do we will set ‘email’ as the attribute.
(Optional) Add a first name and last name key attribute.
Enter any relevant Home realm domains. This is how SAML recognizes a user’s credentials and routes them to the correct sign in page. Note that home realm domains need to be unique across all connections in an environment. Read more about home realm domains.
If you use home realm domains, the sign in button is hidden on the auth screen by default. To show the SSO button, select the Always show sign-in button option.
Copy the reply relevant URL:
If you want to enable just-in-time (JIT) provisioning for users, select the Create a user record in Kinde option. This saves time adding users manually or via API later.
(Temporary feature) Select if you want to treat this connection as a trusted provider. A trusted provider is one that guarantees the email they issue is verified.
(Optional) In the Sign SAML request section, paste in the Signed certificate and Private key. You may have got these from your IdP or you may have generated yourself (see procedure above).
Enter any upstream params that you want to pass to the identity provider. Not all providers support this, so check their documentation first.
Switch on the connection. This will make it instantly available to users if this is your production environment.
Select Save.
Next: Complete any additional configuration in your identity provider’s settings, such as adding the Entity ID and return URL.
Once you have entered the ACS URL in your identity provider, the connection should be enabled.