diff --git a/IdentityServer/v7/Configuration/IdentityServerHost/appsettings.json b/IdentityServer/v7/Configuration/IdentityServerHost/appsettings.json
index b4328d30..3863cc4a 100644
--- a/IdentityServer/v7/Configuration/IdentityServerHost/appsettings.json
+++ b/IdentityServer/v7/Configuration/IdentityServerHost/appsettings.json
@@ -1,16 +1,11 @@
{
- "Serilog": {
- "MinimumLevel": {
- "Default": "Debug",
- "Override": {
- "Microsoft": "Warning",
- "Microsoft.Hosting.Lifetime": "Information",
- "Microsoft.AspNetCore.Authentication": "Debug",
- "System": "Warning"
- }
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
}
},
"ConnectionStrings": {
"DefaultConnection": "Data Source=../IdentityServer.db;"
}
-}
\ No newline at end of file
+}
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/Configuration.sln b/IdentityServer/v7/Configuration/SimpleDcr/Configuration.sln
index efa479ba..bdfc3477 100644
--- a/IdentityServer/v7/Configuration/SimpleDcr/Configuration.sln
+++ b/IdentityServer/v7/Configuration/SimpleDcr/Configuration.sln
@@ -11,30 +11,80 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IdentityServer", "..\Identi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleApi", "..\..\Apis\SimpleApi\SimpleApi.csproj", "{BCE427BA-E794-4956-AA68-FA0CAE184DFA}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleDcr.AppHost", "SimpleDcr.AppHost\SimpleDcr.AppHost.csproj", "{729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|x64.Build.0 = Debug|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|x86.Build.0 = Debug|Any CPU
{CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|x64.ActiveCfg = Release|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|x64.Build.0 = Release|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|x86.ActiveCfg = Release|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|x86.Build.0 = Release|Any CPU
{D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|x64.Build.0 = Debug|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|x86.Build.0 = Debug|Any CPU
{D134466E-58AE-4787-984B-FB6F95EEA969}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D134466E-58AE-4787-984B-FB6F95EEA969}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Release|x64.ActiveCfg = Release|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Release|x64.Build.0 = Release|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Release|x86.ActiveCfg = Release|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Release|x86.Build.0 = Release|Any CPU
{84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|x64.Build.0 = Debug|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|x86.Build.0 = Debug|Any CPU
{84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|x64.ActiveCfg = Release|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|x64.Build.0 = Release|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|x86.ActiveCfg = Release|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|x86.Build.0 = Release|Any CPU
{BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|x64.Build.0 = Debug|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|x86.Build.0 = Debug|Any CPU
{BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|x64.ActiveCfg = Release|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|x64.Build.0 = Release|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|x86.ActiveCfg = Release|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|x86.Build.0 = Release|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Debug|x64.Build.0 = Debug|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Debug|x86.Build.0 = Debug|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Release|Any CPU.Build.0 = Release|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Release|x64.ActiveCfg = Release|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Release|x64.Build.0 = Release|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Release|x86.ActiveCfg = Release|Any CPU
+ {729A28E9-EF1F-4EBA-B09A-FFBCB9AD1C32}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/Configuration/Configuration.csproj b/IdentityServer/v7/Configuration/SimpleDcr/Configuration/Configuration.csproj
index 5db2b431..833bbade 100644
--- a/IdentityServer/v7/Configuration/SimpleDcr/Configuration/Configuration.csproj
+++ b/IdentityServer/v7/Configuration/SimpleDcr/Configuration/Configuration.csproj
@@ -13,4 +13,8 @@
+
+
+
+
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/Configuration/Program.cs b/IdentityServer/v7/Configuration/SimpleDcr/Configuration/Program.cs
index 1e15eeb3..048e240e 100644
--- a/IdentityServer/v7/Configuration/SimpleDcr/Configuration/Program.cs
+++ b/IdentityServer/v7/Configuration/SimpleDcr/Configuration/Program.cs
@@ -10,6 +10,7 @@
Console.Title = "Configuration API";
var builder = WebApplication.CreateBuilder(args);
+builder.AddServiceDefaults();
builder.Services.AddIdentityServerConfiguration(opt => { })
.AddClientConfigurationStore();
@@ -39,6 +40,9 @@
});
var app = builder.Build();
+
+app.MapDefaultEndpoints();
+
app.UseAuthentication();
app.UseAuthorization();
app.MapDynamicClientRegistration().RequireAuthorization("DCR");
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj b/IdentityServer/v7/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
index 98d847bb..0809995c 100644
--- a/IdentityServer/v7/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
+++ b/IdentityServer/v7/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
@@ -10,4 +10,8 @@
+
+
+
+
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/AppHost.cs b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/AppHost.cs
new file mode 100644
index 00000000..a1c73dcb
--- /dev/null
+++ b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/AppHost.cs
@@ -0,0 +1,54 @@
+var builder = DistributedApplication.CreateBuilder(args);
+
+var idp = builder.AddProject("identityserverhost");
+
+var configuration = builder.AddProject("configuration-api")
+ .WaitFor(idp);
+
+builder.AddProject("simple-api")
+ .WaitFor(idp);
+
+builder.AddProject("console-dcr-client")
+ .WaitFor(idp)
+ .WaitFor(configuration);
+
+idp.WithCommand(
+ name: "seed",
+ displayName: "Seed Database",
+ executeCommand: async (context) =>
+ {
+ var projectMetadata = idp.Resource.GetProjectMetadata();
+ var projectPath = projectMetadata.ProjectPath;
+ var process = new System.Diagnostics.Process
+ {
+ StartInfo = new System.Diagnostics.ProcessStartInfo
+ {
+ FileName = "dotnet",
+ Arguments = $"run --project \"{projectPath}\" --no-build -- /seed",
+ UseShellExecute = false,
+ RedirectStandardOutput = true,
+ RedirectStandardError = true,
+ CreateNoWindow = true
+ }
+ };
+
+ process.Start();
+ await process.WaitForExitAsync(context.CancellationToken);
+
+ if (process.ExitCode == 0)
+ {
+ return CommandResults.Success();
+ }
+ else
+ {
+ var error = await process.StandardError.ReadToEndAsync();
+ return CommandResults.Failure(error);
+ }
+ },
+ commandOptions: new CommandOptions
+ {
+ IconName = "DatabaseArrowUp",
+ IsHighlighted = true
+ });
+
+builder.Build().Run();
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/Properties/launchSettings.json b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/Properties/launchSettings.json
new file mode 100644
index 00000000..2fd7abcd
--- /dev/null
+++ b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/Properties/launchSettings.json
@@ -0,0 +1,31 @@
+{
+ "$schema": "https://json.schemastore.org/launchsettings.json",
+ "profiles": {
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:17050;http://localhost:15293",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21177",
+ "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23178",
+ "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22126"
+ }
+ },
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:15293",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19222",
+ "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18151",
+ "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20036"
+ }
+ }
+ }
+}
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/SimpleDcr.AppHost.csproj b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/SimpleDcr.AppHost.csproj
new file mode 100644
index 00000000..34970118
--- /dev/null
+++ b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/SimpleDcr.AppHost.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Exe
+ net10.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.Development.json b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.Development.json
new file mode 100644
index 00000000..0c208ae9
--- /dev/null
+++ b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ }
+}
diff --git a/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.json b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.json
new file mode 100644
index 00000000..31c092aa
--- /dev/null
+++ b/IdentityServer/v7/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.json
@@ -0,0 +1,9 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning",
+ "Aspire.Hosting.Dcp": "Warning"
+ }
+ }
+}
diff --git a/IdentityServer/v8/Configuration/IdentityServerHost/appsettings.json b/IdentityServer/v8/Configuration/IdentityServerHost/appsettings.json
index b4328d30..3863cc4a 100644
--- a/IdentityServer/v8/Configuration/IdentityServerHost/appsettings.json
+++ b/IdentityServer/v8/Configuration/IdentityServerHost/appsettings.json
@@ -1,16 +1,11 @@
{
- "Serilog": {
- "MinimumLevel": {
- "Default": "Debug",
- "Override": {
- "Microsoft": "Warning",
- "Microsoft.Hosting.Lifetime": "Information",
- "Microsoft.AspNetCore.Authentication": "Debug",
- "System": "Warning"
- }
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
}
},
"ConnectionStrings": {
"DefaultConnection": "Data Source=../IdentityServer.db;"
}
-}
\ No newline at end of file
+}
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/Configuration.sln b/IdentityServer/v8/Configuration/SimpleDcr/Configuration.sln
index efa479ba..76e08532 100644
--- a/IdentityServer/v8/Configuration/SimpleDcr/Configuration.sln
+++ b/IdentityServer/v8/Configuration/SimpleDcr/Configuration.sln
@@ -11,30 +11,80 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IdentityServer", "..\Identi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleApi", "..\..\Apis\SimpleApi\SimpleApi.csproj", "{BCE427BA-E794-4956-AA68-FA0CAE184DFA}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleDcr.AppHost", "SimpleDcr.AppHost\SimpleDcr.AppHost.csproj", "{F7806158-551F-488B-95FC-41BED904AF2C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|x64.Build.0 = Debug|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Debug|x86.Build.0 = Debug|Any CPU
{CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|x64.ActiveCfg = Release|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|x64.Build.0 = Release|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|x86.ActiveCfg = Release|Any CPU
+ {CD4E158A-9173-49A5-BF10-F5CAE6E5D3B1}.Release|x86.Build.0 = Release|Any CPU
{D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|x64.Build.0 = Debug|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Debug|x86.Build.0 = Debug|Any CPU
{D134466E-58AE-4787-984B-FB6F95EEA969}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D134466E-58AE-4787-984B-FB6F95EEA969}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Release|x64.ActiveCfg = Release|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Release|x64.Build.0 = Release|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Release|x86.ActiveCfg = Release|Any CPU
+ {D134466E-58AE-4787-984B-FB6F95EEA969}.Release|x86.Build.0 = Release|Any CPU
{84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|x64.Build.0 = Debug|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Debug|x86.Build.0 = Debug|Any CPU
{84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|x64.ActiveCfg = Release|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|x64.Build.0 = Release|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|x86.ActiveCfg = Release|Any CPU
+ {84D25756-275F-4BB1-AFAC-E9FD568102EE}.Release|x86.Build.0 = Release|Any CPU
{BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|x64.Build.0 = Debug|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Debug|x86.Build.0 = Debug|Any CPU
{BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|x64.ActiveCfg = Release|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|x64.Build.0 = Release|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|x86.ActiveCfg = Release|Any CPU
+ {BCE427BA-E794-4956-AA68-FA0CAE184DFA}.Release|x86.Build.0 = Release|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Debug|x64.Build.0 = Debug|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Debug|x86.Build.0 = Debug|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Release|x64.ActiveCfg = Release|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Release|x64.Build.0 = Release|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Release|x86.ActiveCfg = Release|Any CPU
+ {F7806158-551F-488B-95FC-41BED904AF2C}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Configuration.csproj b/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Configuration.csproj
index 5db2b431..833bbade 100644
--- a/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Configuration.csproj
+++ b/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Configuration.csproj
@@ -13,4 +13,8 @@
+
+
+
+
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Program.cs b/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Program.cs
index 1e15eeb3..048e240e 100644
--- a/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Program.cs
+++ b/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Program.cs
@@ -10,6 +10,7 @@
Console.Title = "Configuration API";
var builder = WebApplication.CreateBuilder(args);
+builder.AddServiceDefaults();
builder.Services.AddIdentityServerConfiguration(opt => { })
.AddClientConfigurationStore();
@@ -39,6 +40,9 @@
});
var app = builder.Build();
+
+app.MapDefaultEndpoints();
+
app.UseAuthentication();
app.UseAuthorization();
app.MapDynamicClientRegistration().RequireAuthorization("DCR");
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj b/IdentityServer/v8/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
index 98d847bb..0809995c 100644
--- a/IdentityServer/v8/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
+++ b/IdentityServer/v8/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
@@ -10,4 +10,8 @@
+
+
+
+
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/AppHost.cs b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/AppHost.cs
new file mode 100644
index 00000000..a1c73dcb
--- /dev/null
+++ b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/AppHost.cs
@@ -0,0 +1,54 @@
+var builder = DistributedApplication.CreateBuilder(args);
+
+var idp = builder.AddProject("identityserverhost");
+
+var configuration = builder.AddProject("configuration-api")
+ .WaitFor(idp);
+
+builder.AddProject("simple-api")
+ .WaitFor(idp);
+
+builder.AddProject("console-dcr-client")
+ .WaitFor(idp)
+ .WaitFor(configuration);
+
+idp.WithCommand(
+ name: "seed",
+ displayName: "Seed Database",
+ executeCommand: async (context) =>
+ {
+ var projectMetadata = idp.Resource.GetProjectMetadata();
+ var projectPath = projectMetadata.ProjectPath;
+ var process = new System.Diagnostics.Process
+ {
+ StartInfo = new System.Diagnostics.ProcessStartInfo
+ {
+ FileName = "dotnet",
+ Arguments = $"run --project \"{projectPath}\" --no-build -- /seed",
+ UseShellExecute = false,
+ RedirectStandardOutput = true,
+ RedirectStandardError = true,
+ CreateNoWindow = true
+ }
+ };
+
+ process.Start();
+ await process.WaitForExitAsync(context.CancellationToken);
+
+ if (process.ExitCode == 0)
+ {
+ return CommandResults.Success();
+ }
+ else
+ {
+ var error = await process.StandardError.ReadToEndAsync();
+ return CommandResults.Failure(error);
+ }
+ },
+ commandOptions: new CommandOptions
+ {
+ IconName = "DatabaseArrowUp",
+ IsHighlighted = true
+ });
+
+builder.Build().Run();
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/Properties/launchSettings.json b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/Properties/launchSettings.json
new file mode 100644
index 00000000..34f9ea0f
--- /dev/null
+++ b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/Properties/launchSettings.json
@@ -0,0 +1,31 @@
+{
+ "$schema": "https://json.schemastore.org/launchsettings.json",
+ "profiles": {
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:17051;http://localhost:15294",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21178",
+ "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23179",
+ "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22127"
+ }
+ },
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:15294",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19223",
+ "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18152",
+ "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20037"
+ }
+ }
+ }
+}
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/SimpleDcr.AppHost.csproj b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/SimpleDcr.AppHost.csproj
new file mode 100644
index 00000000..34970118
--- /dev/null
+++ b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/SimpleDcr.AppHost.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Exe
+ net10.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.Development.json b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.Development.json
new file mode 100644
index 00000000..0c208ae9
--- /dev/null
+++ b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ }
+}
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.json b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.json
new file mode 100644
index 00000000..31c092aa
--- /dev/null
+++ b/IdentityServer/v8/Configuration/SimpleDcr/SimpleDcr.AppHost/appsettings.json
@@ -0,0 +1,9 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning",
+ "Aspire.Hosting.Dcp": "Warning"
+ }
+ }
+}
diff --git a/samples.slnx b/samples.slnx
index 27336a58..d370de57 100644
--- a/samples.slnx
+++ b/samples.slnx
@@ -241,6 +241,7 @@
+
@@ -460,6 +461,7 @@
+