If you've installed the latest Sitecore 10 and are seeing some unusual behaviour when it comes to logging into Sitecore Experience Platform, you're not alone.
The most obvious symptom something is up is when you try and login, and rather than redirecting to Identity Server, it goes to https://<sc10-name>.dev.local/sitecore/login
. Hitting the Sitecore Identity Server directly, like so, https://<sc10-name>identityserver.dev.local
, results in a 500
error. So how's that possible, especially when you've installed all pre-requisites and you're basically looking at a fresh installation?
Check The Event Viewer
Might seem odd, but when it comes to the Sitecore Identity Server, you're more likely to spot an issue in the Application logs in the Event Viewer rather than the log files. If the service isn't running, we won't find the error in the Identity Server log files. A keen eye might spot something like the following in the Application logs in the Event Viewer whenever you try and restart the Identity Server in IIS.
Now the path may be different, depending on where you've installed it, but what's most important is the command line to start Sitecore Identity Server. Best way to find out what is wrong is to try and run it manually.
Open up the Command Prompt and navigate to the root of of the Identity Server. If you're on a Standalone install it's likely something similar to: c:\inetpub\wwwroot\xxxidentityserver.dev.local
.
Once there, run: dotnet .\Sitecore.IdentityServer.Host.dll
If the problem you're having is the one we're talking about, you may see is that that resembles: It was not possible to find any compatible framework version. The specified framework 'Microsoft.AspNetCore.App', version '2.1.16' was not found.
So, How Do You Solve It?
It's simple. Head on over to .Net Core 2.1 and download the SDK.
Once installed, open up the Command Prompt and run dotnet .\Sitecore.IdentityServer.Host.dll
again. You should now see something closer to a proper installation.
Try to login to Sitecore and this time you should see it redirect to the Identity Server properly. Once verified, you can close down your Command Prompt and start the service properly through the IIS Server.