Ich versuche, IdentityServer4 als Konsolenanwendung auszuführen. Aber ich bin mir nicht sicher, ob ich es richtig mache. Ich erstellte Konsole-Anwendung (.NET Core) anstelle von ASP.NET-Core-Webanwendung (.NET Core).IdentityServer 4 als Konsolenanwendung
Mein Setup von WebHostBuilder
ist ziemlich einfach:
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
Auch die Startup Klasse ist sehr klein:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentityServer()
.AddTemporarySigningCredential()
.AddInMemoryIdentityResources(Config.GetIdentityResources())
.AddInMemoryApiResources(Config.GetApiResources())
.AddInMemoryClients(Config.GetClients())
.AddTestUsers(Config.GetUsers());
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole();
app.UseIdentityServer();
}
}
Ich bin nur besorgt, wenn ich ein paar Stücke bin fehlt die geeignet sind, führen zu Problemen später. Bin ich auf dem richtigen Weg?
Ja, das stimmt, ich möchte _IdentityServer_ als _ *. Exe_ ausführen. Kann ich dies mit _ASP.Net Core_ template tun? Oh, und danke für den Hinweis mit 'UseContentRoot'. Was bedeutet diese Einstellung? –
Wenn Sie auf das gesamte Framework abzielen, erhalten Sie von execnetcore immer eine DLL, die Sie mit dotnet run ausführen können. – leastprivilege