title: Invoke IdP authorize without challenge
body: <p>We have the IdP set up to use IdentityServer4 on .NET Core 2. The IdP is used for authentication by multiple MVC clients which relies on SSO provided by the IdP to authenticate between sites seemlessly.</p>
  
  <p><em>Step 1. User navigates to MVC Site 1 home page (unrestricted access). Clicks on the "Sign In" link at the top which authenticates the user and displays "User name"/"Log out" links instead.</em></p>
  
  <p><em>Step 2. User navigates to MVC Site 2 home page (unrestricted access) expecting to see the logged on user name but is still shown the "Sign In" link up until the time he navigates to a secure page on Site 2 at which point the authorize route kicks in and SSO the user in based on the login at Site 1.</em></p>
  
  <p>The Site 2 home page cannot be marked as [Authorize] since its meant to have unrestricted access but at the same time maintain the user journey by stating correctly if the user is logged in or not.</p>
  
  <p>Is there a way to achieve this wherein the user is directed to "authorise" endpoint but without a challenge if not already authenticated?</p>
  
  <p>Standard client code snippet on Startup is:</p>
  
  <pre><code>JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
  services.AddAuthentication(options =&gt;
              {
                  options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                  options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
              })
              .AddCookie()
              .AddOpenIdConnect(options =&gt;
              {
                  options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
  
                  options.Authority = "http://localhost:5000";
                  options.RequireHttpsMetadata = false;
  
                  options.ClientId = "mvc";
                  options.ResponseType = OpenIdConnectResponseType.IdToken;
                  options.SaveTokens = true;
              });
  </code></pre>