How to setup different application logos in same universal login?

Hi,

I am having an issue when trying to setup two applications using the same universal login. I need each application to have its own logo and colors, despite using the same universal login.

I am using Elixir with the Phoenix framework, I followed this tutorial and the authentication works:

I saw in the docs that the application logo is not used for the login page:

Is there a way to achieve each application using its own logo and colors on the universal login page?

Thank you

Hi @tnaftali,

Welcome to the Community!

If your tenant has a custom domain, you can use page templates for the New Universal Login page to achieve this. This is done through the Management API, and you can read more about this option in the docs:

If you do not have a custom domain, you can switch the the Classic Universal Login experience and customize the template based on the application. This is done through your Auth0 dashboard (Branding > Universal Login). After switching to Classic, you can navigate to the Login tab and enable Customize Login Page to update the template. You can determine which app the login is for by using config.clientID. You can pass configs for the logo in the Lock configs:

1 Like

Hi Stephanie,

Thank you for your response. I managed to customize the login screen based on the client id of the app.

The issue I’m having now that may be related is that I have three different databases, one for manually created users, and two others which are used each with one of the applications I created.

I can’t login using the universal login with users that are from these last two databases, which were populated automatically running an import script. I can just login with the manually created users from the first database.

Is there a way I can enable the universal login to be able to login with users from different connections/applications/databases?

Now I’m actually getting this screen when trying to login with users from the two applications databases:

Hi @tnaftali,

The Universal Login will work well for multiple applications/connections.

Do the users that are imported belong to a specific app, or is it a mix of the two apps? For simplification, would it be possible to use one database connection for both apps or at least import the users into each respective app’s DB?

If you require separate DBs for each app, you can configure each app to only use certain connections (Auth0 Dashboard > Applications > Click on app > Connections tab).

Also, you can use Lock.js’ connectionResolver option to determine which database connection to use:

If there is a certain email domain used by the imported users, you could determine which connection to use based on that. If there is no way to distinguish which connection to use based on the email address, you might want to consider consolidating the users into the two databases.

Regarding the error page, you may want to look into configuring a custom error page so that it is displayed instead of the default generic error page:

Hi @stephanie.chamblee,

Do the users that are imported belong to a specific app, or is it a mix of the two apps? For simplification, would it be possible to use one database connection for both apps or at least import the users into each respective app’s DB?

I have two applications and three databases.

Users imported into Database 1 are from Application 1, Users imported into Database 2 are from Application 2. I want users from any of these apps to be able to login to any of the two applications. They will share the universal login screen, customizing it for each of them (which I already did using your suggestion of Classic and client ID).

For now we want to keep the two applications and databases separated.

I have no way of knowing if a user comes from one application or the other based on the email domain, nor I need to know since I want them to be able to login nonetheless, and there may be users that are present in both applications/databases.

However, currently the universal login is not working for any users from these databases. It’s only working for users that were created manually into a third Database 3 which was just created for that, manually created users (from the Auth0 Dashboard). This is really weird since all three databases have access to the two applications configured from the Applications tab, and both applications have the three databases configured in the Connections tab.

Why could it be that the universal login is only working for users that are in Database 3? I’m really puzzled by this.

It’s likely that only users from Database 3 are working because Universal Login will only use the first enabled database by default to find the user. You would need to configure a connectionResolver in the login template for the others to work.

To test this, if you temporarily disable both of the other database connections for one of the apps, does login work properly for a user?

The simplest route would likely be to use one database and you can maintain info about where the user registered in their metadata if needed. Otherwise, unfortunately, UL won’t scan each connection for the user, and so you would need to specify which connection to use. You could potentially use two connections, one for each app by only enabling one database connection for each app, but users in App1/DB1 would need to sign up for App2/DB2, which it sounds like would not be ideal.

1 Like

Hi @stephanie.chamblee,

After this discussion we think the best way to approach this is to have a unified database with all our users, the problem now is that we may have the same user in both applications with different passwords.

Is it possible to have users stored/login with multiple passwords?

Unfortunately, users in a DB connection each only have one password.

If you’d prefer users to have a separate account where they would need to log in to each app with a different password, I’d suggest using two databases and specifying which DB connection to use in each application . Users would need to sign up for each app separately, though.

1 Like