Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
d06eda6
Refactorization of route and authorization config to be fully configu…
ChaosEngine Dec 8, 2019
0f91cc2
No-NewtonsoftJson
ChaosEngine Dec 11, 2019
4b7f898
Custom LoginPath, LogoutPath
ChaosEngine Dec 12, 2019
ad8ea9f
package.json bumps and audit fixes
ChaosEngine Mar 15, 2020
7d498dd
bump: lodash
ChaosEngine Jul 24, 2020
052b8f3
Refactorization of route and authorization config to be fully configu…
ChaosEngine Dec 8, 2019
3b1fef0
No-NewtonsoftJson
ChaosEngine Dec 11, 2019
003424b
Custom LoginPath, LogoutPath
ChaosEngine Dec 12, 2019
b6c6a7d
package.json bumps and audit fixes
ChaosEngine Mar 15, 2020
a18345d
bump: lodash
ChaosEngine Jul 24, 2020
16a1892
Merge branch 'IdentityManager-master' upstream IdentityManager2
ChaosEngine Dec 9, 2020
8dc8dab
Fix displaying user creation error messages
ChaosEngine Dec 12, 2020
50887c3
bumping jquery(v3.5.1), bootstrap (v4.5.3)
ChaosEngine Dec 12, 2020
9bdfbbb
dropping lodash from deps and unused gulp require
ChaosEngine Dec 23, 2020
2e7f02f
modal-backdrop style opacity fix for newwer bootstrap.js style. sorry…
ChaosEngine Dec 23, 2020
219bd84
blocking publishing package*.json
ChaosEngine Dec 31, 2020
5ab54e6
bump: gulp-less; npm audit fix simple vulns
ChaosEngine Aug 11, 2021
7aace8d
dotnet-7 upgrade
ChaosEngine Dec 14, 2022
e0f4433
1st try of migration to dotnet 8.
ChaosEngine Nov 4, 2023
9ac5532
<PublishTrimmed>true</PublishTrimmed>
ChaosEngine Nov 9, 2023
ad4da41
trim compatible serialization code
ChaosEngine Nov 14, 2023
01df57f
BadRequest(ModelState) serialization on errors, not finished
ChaosEngine Nov 15, 2023
6ade96f
back to regular OK,BadREquest plain responses and more using AddJsonO…
ChaosEngine Nov 17, 2023
7c6ade3
<TrimMode>full</TrimMode>
ChaosEngine Nov 18, 2023
d28c3ca
Decorating reflection heave methods with RequiresUnreferencedCode
ChaosEngine Nov 29, 2023
d241829
<TrimMode>partial</TrimMode>
ChaosEngine Jan 12, 2024
46784f2
github actions: dotnet-version: 8.0.x bump
ChaosEngine Jan 17, 2024
367441e
bump gh-actions versions
ChaosEngine Jan 27, 2024
2cc7cd5
bump: gh-actions: actions/setup-dotnet@v4
ChaosEngine May 22, 2024
8a20b73
package reference upgrades
ChaosEngine Nov 28, 2024
acfb74d
fixing ci/cd build pipelines
ChaosEngine Jan 6, 2025
ad41934
executing `npm audit fix --force` on project clientside dpens and dev…
ChaosEngine Jan 7, 2025
2d6c7b7
eslint-9 migration
ChaosEngine Feb 16, 2025
5bb66aa
bumping internal version of jquery and bootstrap
ChaosEngine Mar 14, 2025
00ba1db
update devDependencies to use caret (^) versioning for gulp packages
ChaosEngine May 21, 2025
2672157
Upgrade to .NET 9.0 and migrate to Duende IdentityServer
ChaosEngine Oct 9, 2025
7ca45cb
bump: gulp-5.0.1
ChaosEngine Oct 9, 2025
dad1696
Make project headless: separate UI and API layer
adambarath Oct 26, 2025
dcb8f31
add openapi definition
adambarath Oct 26, 2025
bf1487d
Make project headless: separate UI and API layer - bug fixes
adambarath Oct 26, 2025
f780b38
Make project headless: separate UI and API layer - bug fixes
adambarath Oct 27, 2025
ec532c2
Make project headless: separate UI and API layer
adambarath Oct 27, 2025
4428571
introduce logger
adambarath Oct 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
Expand All @@ -43,7 +43,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -54,7 +54,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -68,4 +68,4 @@ jobs:
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3
6 changes: 3 additions & 3 deletions .github/workflows/dotnet-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v4
with:
dotnet-version: 3.1.301
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore
- name: Build
Expand Down
129 changes: 68 additions & 61 deletions IdentityManager2.sln
Original file line number Diff line number Diff line change
@@ -1,61 +1,68 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29519.181
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{21035206-B373-4994-901B-2C9E882B5852}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityManager2", "src\IdentityManager2\IdentityManager2.csproj", "{E4718661-6384-4378-82C3-56D66F6E060F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hosts.LosthostAuthentication", "src\Hosts\Hosts.LosthostAuthentication\Hosts.LosthostAuthentication.csproj", "{D024CAF4-4371-45C5-9728-D06B462CD4B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hosts.CookieAuthentication", "src\Hosts\Hosts.CookieAuthentication\Hosts.CookieAuthentication.csproj", "{20FEF10D-D003-48A7-A931-4DEB80796E08}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hosts.Shared", "src\Hosts\Hosts.Shared\Hosts.Shared.csproj", "{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hosts", "Hosts", "{59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hosts.IdentityServerAuthentication", "src\Hosts\Hosts.IdentityServerAuthentication\Hosts.IdentityServerAuthentication.csproj", "{BAACD397-A69F-4F9B-A178-39D734CA78CC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E4718661-6384-4378-82C3-56D66F6E060F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E4718661-6384-4378-82C3-56D66F6E060F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E4718661-6384-4378-82C3-56D66F6E060F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E4718661-6384-4378-82C3-56D66F6E060F}.Release|Any CPU.Build.0 = Release|Any CPU
{D024CAF4-4371-45C5-9728-D06B462CD4B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D024CAF4-4371-45C5-9728-D06B462CD4B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D024CAF4-4371-45C5-9728-D06B462CD4B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D024CAF4-4371-45C5-9728-D06B462CD4B3}.Release|Any CPU.Build.0 = Release|Any CPU
{20FEF10D-D003-48A7-A931-4DEB80796E08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20FEF10D-D003-48A7-A931-4DEB80796E08}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20FEF10D-D003-48A7-A931-4DEB80796E08}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20FEF10D-D003-48A7-A931-4DEB80796E08}.Release|Any CPU.Build.0 = Release|Any CPU
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}.Release|Any CPU.Build.0 = Release|Any CPU
{BAACD397-A69F-4F9B-A178-39D734CA78CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BAACD397-A69F-4F9B-A178-39D734CA78CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BAACD397-A69F-4F9B-A178-39D734CA78CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BAACD397-A69F-4F9B-A178-39D734CA78CC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{E4718661-6384-4378-82C3-56D66F6E060F} = {21035206-B373-4994-901B-2C9E882B5852}
{D024CAF4-4371-45C5-9728-D06B462CD4B3} = {59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}
{20FEF10D-D003-48A7-A931-4DEB80796E08} = {59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208} = {59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}
{59FA21EB-3472-4E3D-BDF0-AD32DCFA6035} = {21035206-B373-4994-901B-2C9E882B5852}
{BAACD397-A69F-4F9B-A178-39D734CA78CC} = {59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {22A3DD5E-832A-4FFC-B0B9-1A3D07313154}
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
VisualStudioVersion = 18.0.11111.16 d18.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{21035206-B373-4994-901B-2C9E882B5852}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityManager2", "src\IdentityManager2\IdentityManager2.csproj", "{E4718661-6384-4378-82C3-56D66F6E060F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hosts.LosthostAuthentication", "src\Hosts\Hosts.LosthostAuthentication\Hosts.LosthostAuthentication.csproj", "{D024CAF4-4371-45C5-9728-D06B462CD4B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hosts.CookieAuthentication", "src\Hosts\Hosts.CookieAuthentication\Hosts.CookieAuthentication.csproj", "{20FEF10D-D003-48A7-A931-4DEB80796E08}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hosts.Shared", "src\Hosts\Hosts.Shared\Hosts.Shared.csproj", "{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hosts", "Hosts", "{59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hosts.IdentityServerAuthentication", "src\Hosts\Hosts.IdentityServerAuthentication\Hosts.IdentityServerAuthentication.csproj", "{BAACD397-A69F-4F9B-A178-39D734CA78CC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IdentityManager2.Apis", "src\IdentityManager2.Apis\IdentityManager2.Apis.csproj", "{A0B9D16D-1969-E880-1A5E-7BC666CB4178}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E4718661-6384-4378-82C3-56D66F6E060F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E4718661-6384-4378-82C3-56D66F6E060F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E4718661-6384-4378-82C3-56D66F6E060F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E4718661-6384-4378-82C3-56D66F6E060F}.Release|Any CPU.Build.0 = Release|Any CPU
{D024CAF4-4371-45C5-9728-D06B462CD4B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D024CAF4-4371-45C5-9728-D06B462CD4B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D024CAF4-4371-45C5-9728-D06B462CD4B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D024CAF4-4371-45C5-9728-D06B462CD4B3}.Release|Any CPU.Build.0 = Release|Any CPU
{20FEF10D-D003-48A7-A931-4DEB80796E08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20FEF10D-D003-48A7-A931-4DEB80796E08}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20FEF10D-D003-48A7-A931-4DEB80796E08}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20FEF10D-D003-48A7-A931-4DEB80796E08}.Release|Any CPU.Build.0 = Release|Any CPU
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208}.Release|Any CPU.Build.0 = Release|Any CPU
{BAACD397-A69F-4F9B-A178-39D734CA78CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BAACD397-A69F-4F9B-A178-39D734CA78CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BAACD397-A69F-4F9B-A178-39D734CA78CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BAACD397-A69F-4F9B-A178-39D734CA78CC}.Release|Any CPU.Build.0 = Release|Any CPU
{A0B9D16D-1969-E880-1A5E-7BC666CB4178}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0B9D16D-1969-E880-1A5E-7BC666CB4178}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A0B9D16D-1969-E880-1A5E-7BC666CB4178}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A0B9D16D-1969-E880-1A5E-7BC666CB4178}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{E4718661-6384-4378-82C3-56D66F6E060F} = {21035206-B373-4994-901B-2C9E882B5852}
{D024CAF4-4371-45C5-9728-D06B462CD4B3} = {59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}
{20FEF10D-D003-48A7-A931-4DEB80796E08} = {59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}
{BE7A2243-B7D0-4D32-92F6-0DD4C8DA8208} = {59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}
{59FA21EB-3472-4E3D-BDF0-AD32DCFA6035} = {21035206-B373-4994-901B-2C9E882B5852}
{BAACD397-A69F-4F9B-A178-39D734CA78CC} = {59FA21EB-3472-4E3D-BDF0-AD32DCFA6035}
{A0B9D16D-1969-E880-1A5E-7BC666CB4178} = {21035206-B373-4994-901B-2C9E882B5852}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {22A3DD5E-832A-4FFC-B0B9-1A3D07313154}
EndGlobalSection
EndGlobal
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

namespace Hosts.CookieAuthentication
{
[Route("login")]
public class LoginController : Controller
{
private readonly ICollection<InMemoryUser> users;
Expand All @@ -19,13 +20,13 @@ public LoginController(ICollection<InMemoryUser> users)
this.users = users ?? throw new ArgumentNullException(nameof(users));
}

[HttpGet("login")]
[HttpGet(Name = "CookieAuthentication-login")]
public IActionResult Login(string returnUrl)
{
return View(new LoginModel {ReturnUrl = returnUrl});
}

[HttpPost("login")]
[HttpPost("CookieAuthentication-login")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginModel model)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
Expand Down
34 changes: 18 additions & 16 deletions src/Hosts/Hosts.CookieAuthentication/Program.cs
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;

namespace Hosts.CookieAuthentication
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>());
}
}
using Microsoft.AspNetCore.Builder;

namespace Hosts.CookieAuthentication;

public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Services.ConfigureServices();

var app = builder.Build();
app.Configure();

app.Run();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"Hosts.CookieAuthentication": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "http://localhost:5000",
"launchUrl": "",
"applicationUrl": "https://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
Expand Down
102 changes: 52 additions & 50 deletions src/Hosts/Hosts.CookieAuthentication/Startup.cs
Original file line number Diff line number Diff line change
@@ -1,50 +1,52 @@
using System;
using Hosts.Shared.InMemory;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;

namespace Hosts.CookieAuthentication
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// In-memory IdentityManagerService (demo only)
services.AddIdentityManager(options =>
{
options.SecurityConfiguration.HostAuthenticationType = "cookie";
options.SecurityConfiguration.HostChallengeType = "cookie";
})
.AddIdentityMangerService<InMemoryIdentityManagerService>();

var rand = new Random();
services.AddSingleton(x => Users.Get(rand.Next(5000, 20000)));
services.AddSingleton(x => Roles.Get(rand.Next(15)));

services.AddAuthentication("cookie")
.AddCookie("cookie", options =>
{
options.LoginPath = "/login";
});
}

public void Configure(IApplicationBuilder app)
{
app.UseDeveloperExceptionPage();

app.UseRouting();

app.UseStaticFiles();

app.UseAuthentication();
app.UseAuthorization();

app.UseIdentityManager();

app.UseEndpoints(x =>
{
x.MapDefaultControllerRoute();
});
}
}
}
using System;
using Hosts.Shared.InMemory;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;

namespace Hosts.CookieAuthentication;

public static class Startup
{
public static void ConfigureServices(this IServiceCollection services)
{
// In-memory IdentityManagerService (demo only)
services.AddIdentityManager(options =>
{
options.SecurityConfiguration.HostAuthenticationType = "cookie";
options.SecurityConfiguration.HostChallengeType = "cookie";
})
.AddIdentityMangerService<InMemoryIdentityManagerService>()
.AddIdentityManagerUI();

var rand = new Random();
services.AddSingleton(x => Users.Get(rand.Next(5000, 20000)));
services.AddSingleton(x => Roles.Get(rand.Next(15)));

services
.AddAuthentication("cookie")
.AddCookie("cookie", options =>
{
options.LoginPath = "/login";
});
}

public static void Configure(this WebApplication app)
{
app.UseDeveloperExceptionPage();

app.UseRouting();

app.UseStaticFiles();

app.UseAuthentication();
app.UseAuthorization();

app.UseIdentityManager();

// Map attribute-routed controllers first
app.MapControllers();

app.MapIdentityManagerUI(string.Empty); // set "launchUrl": "", in launchSettings.json

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using Duende.IdentityServer;
using Duende.IdentityServer.Services;
using Hosts.Shared.InMemory;
using IdentityManager2;
using IdentityServer4;
using IdentityServer4.Services;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace Hosts.IdentityServerAuthentication
{
[Route("login")]
public class LoginController : Controller
{
private readonly ICollection<InMemoryUser> users;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="IdentityServer4" Version="3.1.0" />
<PackageReference Include="Duende.IdentityServer" Version="7.3.2" />
</ItemGroup>

<ItemGroup>
Expand Down
Loading