12

For Sitecore 9.1, can the Identity Server be used for multiple sites/clients? For example, on a local developer machine I have several 9.1 installs for separate clients. Could I use that Identity Server for the login for all of them? Or do i need a a separate Identity Server install for each client?

The problem I see is that the Identity Server needs to use a Core database, but if I use the Core DB for Client A, then Clients B and C would also have their info stored in the Client A Core DB.

Another problem I see is the Password Recovery Url used by the Identity Server. If I set the url to be for client A (https://clientA) and client B (https://clientB) needs a password reset, does client B get redirected to the https://clientA url?

5
  • I have an open ticket right with support. I think Sitecore has twisted IS4 for their own use and it’s not very useful as a real identity server, for other sites. I can get the site to generate bearer tokens and OAuth but they can’t be used as security. And there is no consent page. I guess we will see what comes out of it.
    – Chris Auer
    Jan 17, 2019 at 20:24
  • @MarkGibbons I appreciate your comment, but could you elaborate more on how this would address or solve my question(s)? I'm not really looking for it to be a gateway to other providers, but to simply handle the logging in/out of multiple clients.
    – Ted Osberg
    Jan 21, 2019 at 18:07
  • I think that you'd have to add a custom subprovider for each site or client you want the identity server to handle. Jan 22, 2019 at 0:09
  • 1
    I think we can do as 1. moving Sitecore Security membership provider from the Core database to individual database. i.imgur.com/bwnx3OC.png 2. Sitecore Identity Server - change connection string to newly created database. i.imgur.com/hII0cfq.png 3. Sitecore (ClientA/ClientB) - Finalize one sitecore instance where users can create or use for password recovery. Change "security" connection string to newly created database. i.imgur.com/rHQ0kmN.png.
    – venkat
    Jun 5, 2019 at 2:32

4 Answers 4

1

Sitecore does not restricts using same Identity Servers.

you can configure as shown in https://youtu.be/MT4NwzMz4f4. Also check Blog https://blog.martinmiles.net/post/sharing-sitecore-identity-server-between-two-independant-instances-of-sitecore

In summary: It depends on what is appropriate for your requirement.

I hope this helps.

0

Yes, it is possible to use a single instance of Sitecore Identity Server for multiple Sitecore instances. In fact, this is a common practice in many development environments where multiple Sitecore instances are installed on a single machine.

Each Sitecore instance can be configured to use the same Identity Server instance by updating the Sitecore.Owin.Authentication.IdentityServer.Host setting in the Sitecore.Owin.Authentication.config file of each Sitecore instance to point to the URL of the shared Identity Server instance.

However, as you mentioned, there are some potential issues to consider. For example, if the same Core database is used by multiple Sitecore instances, it could create conflicts with data being stored in the Core database. To avoid this, it is recommended to use separate Core databases for each Sitecore instance.

Regarding the password recovery URL, it is possible to configure the Identity Server to use a different URL for each Sitecore instance. This can be achieved by configuring the SitecoreIdentityServer:PublicOrigin setting in the Sitecore.IdentityServer.Host.xml file of the Identity Server instance. This setting allows you to specify the base URL for the Identity Server, which can be different for each Sitecore instance.

0

In Sitecore 9.1, the Identity Server can be used for multiple sites/clients. It is possible to configure and utilize a single instance of the Identity Server for multiple Sitecore installations on a local developer machine.

However, there are a few considerations to keep in mind:

Separation of Core Databases: Each Sitecore installation should have its own dedicated Core database. This ensures that the client-specific information is stored separately for each client. While the Identity Server relies on the Core database, it should be configured to use the appropriate Core database associated with each Sitecore installation.

Password Recovery URL: The Password Recovery URL used by the Identity Server can be a challenge when serving multiple clients. By default, the Identity Server is configured with a single base URL. This means that if a user from client B requests a password reset, they may be redirected to the base URL configured for client A.

To overcome this limitation, you can customize the Identity Server behavior by implementing custom login and password recovery pages. These pages can handle client-specific logic and redirect users to the correct client's website for password recovery. This way, client B would be redirected to the appropriate URL (https://clientB) for their password reset, ensuring a seamless user experience.

By carefully configuring the Core databases and implementing custom logic for password recovery, you can utilize a single instance of the Identity Server for multiple Sitecore installations on your local developer machine, while maintaining the separation and client-specific functionality.

-1

you can do extract the Authentication related tables outside the core db and use the same for all users to identity-server. You need to do some customization to sync the user from that common db to Sitecore Core Db.

1
  • This should ideally work Feb 16, 2021 at 8:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.