title: Which Nuget package for IdentityServer in Asp.Net Core Web API?
body: <p>I have two web applications that need functionality for Authentication And Authorization.  The server side runs Asp.NET Core 3.0, client side runs Angular and I intend to implement IdentityServer with a Proof Key for Code Exchange (PKCE) flow.  Official IdentityServer documentation (<a href="https://identityserver4.readthedocs.io" rel="nofollow noreferrer">https://identityserver4.readthedocs.io</a>) refers to package <code>IdentityServer4</code> while the dotnet templates (<a href="https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity-api-authorization?view=aspnetcore-3.0" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity-api-authorization?view=aspnetcore-3.0</a>) use <code>Microsoft.AspNetCore.ApiAuthorization.IdentityServer</code> .  I can't find a proper description of the latter package, it is listed as an implementation of IdentityServer.  However the configuration methods available between the two packages is different.</p>
  
  <p>I would like to run IdentityServer as middleware in my web application, and issue the PKCE secret doing the authentication and authorization in full.  I am not sure if <code>IdentityServer4</code> can run as middleware in my main application or needs to be middleware in its own application, and am not sure if <code>Microsoft.AspNetCore.ApiAuthorization.IdentityServer</code> supports PKCE flow.</p>
  
  <p>Which package meets both my requirements?</p>