From 5670aa464852ca3299658297a9621ac8d2f9aa99 Mon Sep 17 00:00:00 2001
From: Brett Hazen <2651260+bhazen@users.noreply.github.com>
Date: Wed, 26 Nov 2025 10:15:48 -0600
Subject: [PATCH 1/2] Added MCP demo
---
IdentityServer/v7/McpDemo/.gitignore | 1 +
.../McpDemo.Client/McpDemo.Client.csproj | 15 +
.../v7/McpDemo/McpDemo.Client/Program.cs | 160 +
.../McpDemo/McpDemo.IdentityServer/Config.cs | 25 +
.../HostingExtensions.cs | 129 +
.../McpDemo.IdentityServer.csproj | 16 +
.../Pages/Account/AccessDenied.cshtml | 10 +
.../Pages/Account/AccessDenied.cshtml.cs | 10 +
.../Pages/Account/Create/Index.cshtml | 40 +
.../Pages/Account/Create/Index.cshtml.cs | 117 +
.../Pages/Account/Create/InputModel.cs | 17 +
.../Pages/Account/Login/Index.cshtml | 89 +
.../Pages/Account/Login/Index.cshtml.cs | 240 +
.../Pages/Account/Login/InputModel.cs | 12 +
.../Pages/Account/Login/LoginOptions.cs | 9 +
.../Pages/Account/Login/ViewModel.cs | 30 +
.../Pages/Account/Logout/Index.cshtml | 17 +
.../Pages/Account/Logout/Index.cshtml.cs | 96 +
.../Pages/Account/Logout/LoggedOut.cshtml | 30 +
.../Pages/Account/Logout/LoggedOut.cshtml.cs | 30 +
.../Account/Logout/LoggedOutViewModel.cs | 9 +
.../Pages/Account/Logout/LogoutOptions.cs | 7 +
.../Pages/Ciba/All.cshtml | 48 +
.../Pages/Ciba/All.cshtml.cs | 21 +
.../Pages/Ciba/Consent.cshtml | 100 +
.../Pages/Ciba/Consent.cshtml.cs | 232 +
.../Pages/Ciba/ConsentOptions.cs | 13 +
.../Pages/Ciba/Index.cshtml | 32 +
.../Pages/Ciba/Index.cshtml.cs | 40 +
.../Pages/Ciba/InputModel.cs | 9 +
.../Pages/Ciba/ViewModel.cs | 31 +
.../Pages/Ciba/_ScopeListItem.cshtml | 49 +
.../Pages/Consent/ConsentOptions.cs | 13 +
.../Pages/Consent/Index.cshtml | 109 +
.../Pages/Consent/Index.cshtml.cs | 244 +
.../Pages/Consent/InputModel.cs | 10 +
.../Pages/Consent/ViewModel.cs | 30 +
.../Pages/Consent/_ScopeListItem.cshtml | 49 +
.../Pages/Device/DeviceOptions.cs | 14 +
.../Pages/Device/Index.cshtml | 143 +
.../Pages/Device/Index.cshtml.cs | 225 +
.../Pages/Device/InputModel.cs | 11 +
.../Pages/Device/Success.cshtml | 12 +
.../Pages/Device/Success.cshtml.cs | 13 +
.../Pages/Device/ViewModel.cs | 22 +
.../Pages/Device/_ScopeListItem.cshtml | 37 +
.../Pages/Diagnostics/Index.cshtml | 67 +
.../Pages/Diagnostics/Index.cshtml.cs | 26 +
.../Pages/Diagnostics/ViewModel.cs | 30 +
.../Pages/Extensions.cs | 56 +
.../Pages/ExternalLogin/Callback.cshtml | 19 +
.../Pages/ExternalLogin/Callback.cshtml.cs | 150 +
.../Pages/ExternalLogin/Challenge.cshtml | 19 +
.../Pages/ExternalLogin/Challenge.cshtml.cs | 45 +
.../Pages/Grants/Index.cshtml | 90 +
.../Pages/Grants/Index.cshtml.cs | 78 +
.../Pages/Grants/ViewModel.cs | 19 +
.../Pages/Home/Error/Index.cshtml | 35 +
.../Pages/Home/Error/Index.cshtml.cs | 37 +
.../Pages/Home/Error/ViewModel.cs | 14 +
.../Pages/IdentityServerSuppressions.cs | 46 +
.../McpDemo.IdentityServer/Pages/Index.cshtml | 46 +
.../Pages/Index.cshtml.cs | 19 +
.../McpDemo.IdentityServer/Pages/Log.cs | 71 +
.../Pages/Redirect/Index.cshtml | 14 +
.../Pages/Redirect/Index.cshtml.cs | 22 +
.../Pages/SecurityHeadersAttribute.cs | 55 +
.../Pages/ServerSideSessions/Index.cshtml | 151 +
.../Pages/ServerSideSessions/Index.cshtml.cs | 71 +
.../Pages/Shared/_Layout.cshtml | 29 +
.../Pages/Shared/_Nav.cshtml | 35 +
.../Pages/Shared/_ValidationSummary.cshtml | 7 +
.../McpDemo.IdentityServer/Pages/Telemetry.cs | 143 +
.../McpDemo.IdentityServer/Pages/TestUsers.cs | 62 +
.../Pages/_ViewImports.cshtml | 2 +
.../Pages/_ViewStart.cshtml | 3 +
.../McpDemo/McpDemo.IdentityServer/Program.cs | 54 +
.../Properties/launchSettings.json | 12 +
.../McpDemo.IdentityServer/appsettings.json | 13 +
.../wwwroot/css/site.css | 39 +
.../wwwroot/css/site.min.css | 1 +
.../wwwroot/css/site.scss | 50 +
.../wwwroot/duende-logo.svg | 1 +
.../wwwroot/favicon.ico | Bin 0 -> 15406 bytes
.../wwwroot/js/signin-redirect.js | 1 +
.../wwwroot/js/signout-redirect.js | 6 +
.../wwwroot/lib/bootstrap/LICENSE | 22 +
.../wwwroot/lib/bootstrap/README.md | 209 +
.../lib/bootstrap/dist/css/bootstrap-grid.css | 3872 ++++++
.../bootstrap/dist/css/bootstrap-grid.css.map | 1 +
.../bootstrap/dist/css/bootstrap-grid.min.css | 7 +
.../dist/css/bootstrap-grid.min.css.map | 1 +
.../bootstrap/dist/css/bootstrap-reboot.css | 326 +
.../dist/css/bootstrap-reboot.css.map | 1 +
.../dist/css/bootstrap-reboot.min.css | 8 +
.../dist/css/bootstrap-reboot.min.css.map | 1 +
.../lib/bootstrap/dist/css/bootstrap.css | 10263 +++++++++++++++
.../lib/bootstrap/dist/css/bootstrap.css.map | 1 +
.../lib/bootstrap/dist/css/bootstrap.min.css | 7 +
.../bootstrap/dist/css/bootstrap.min.css.map | 1 +
.../lib/bootstrap/dist/js/bootstrap.bundle.js | 7031 ++++++++++
.../bootstrap/dist/js/bootstrap.bundle.js.map | 1 +
.../bootstrap/dist/js/bootstrap.bundle.min.js | 7 +
.../dist/js/bootstrap.bundle.min.js.map | 1 +
.../lib/bootstrap/dist/js/bootstrap.js | 4418 +++++++
.../lib/bootstrap/dist/js/bootstrap.js.map | 1 +
.../lib/bootstrap/dist/js/bootstrap.min.js | 7 +
.../bootstrap/dist/js/bootstrap.min.js.map | 1 +
.../wwwroot/lib/bootstrap4-glyphicons/LICENSE | 201 +
.../css/bootstrap-glyphicons.css | 809 ++
.../css/bootstrap-glyphicons.min.css | 6 +
.../glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes
.../glyphicons-halflings-regular.svg | 288 +
.../glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes
.../glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes
.../glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes
.../maps/glyphicons-fontawesome.css | 2947 +++++
.../maps/glyphicons-fontawesome.less | 3891 ++++++
.../maps/glyphicons-fontawesome.min.css | 1 +
.../wwwroot/lib/jquery/LICENSE.txt | 20 +
.../wwwroot/lib/jquery/README.md | 62 +
.../wwwroot/lib/jquery/dist/jquery.js | 10872 ++++++++++++++++
.../wwwroot/lib/jquery/dist/jquery.min.js | 2 +
.../wwwroot/lib/jquery/dist/jquery.min.map | 1 +
.../wwwroot/lib/jquery/dist/jquery.slim.js | 8777 +++++++++++++
.../lib/jquery/dist/jquery.slim.min.js | 2 +
.../lib/jquery/dist/jquery.slim.min.map | 1 +
.../McpDemo.McpServer.csproj | 14 +
.../v7/McpDemo/McpDemo.McpServer/Program.cs | 61 +
.../Properties/launchSettings.json | 14 +
.../appsettings.Development.json | 8 +
.../McpDemo.McpServer/appsettings.json | 9 +
IdentityServer/v7/McpDemo/McpDemo.sln | 28 +
samples.slnx | 5 +
134 files changed, 58460 insertions(+)
create mode 100644 IdentityServer/v7/McpDemo/.gitignore
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.Client/McpDemo.Client.csproj
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.Client/Program.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Config.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/HostingExtensions.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/McpDemo.IdentityServer.csproj
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/AccessDenied.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/AccessDenied.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Create/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Create/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Create/InputModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Login/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Login/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Login/InputModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Login/LoginOptions.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Login/ViewModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Logout/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Logout/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Logout/LoggedOut.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Logout/LoggedOut.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Logout/LoggedOutViewModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Account/Logout/LogoutOptions.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/All.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/All.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/Consent.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/Consent.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/ConsentOptions.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/InputModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/ViewModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Ciba/_ScopeListItem.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Consent/ConsentOptions.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Consent/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Consent/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Consent/InputModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Consent/ViewModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Consent/_ScopeListItem.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Device/DeviceOptions.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Device/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Device/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Device/InputModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Device/Success.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Device/Success.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Device/ViewModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Device/_ScopeListItem.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Diagnostics/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Diagnostics/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Diagnostics/ViewModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Extensions.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/ExternalLogin/Callback.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/ExternalLogin/Callback.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/ExternalLogin/Challenge.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/ExternalLogin/Challenge.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Grants/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Grants/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Grants/ViewModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Home/Error/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Home/Error/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Home/Error/ViewModel.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/IdentityServerSuppressions.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Log.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Redirect/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Redirect/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/SecurityHeadersAttribute.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/ServerSideSessions/Index.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/ServerSideSessions/Index.cshtml.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Shared/_Layout.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Shared/_Nav.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Shared/_ValidationSummary.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/Telemetry.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/TestUsers.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/_ViewImports.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Pages/_ViewStart.cshtml
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Program.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/Properties/launchSettings.json
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/appsettings.json
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/css/site.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/css/site.min.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/css/site.scss
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/duende-logo.svg
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/favicon.ico
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/js/signin-redirect.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/js/signout-redirect.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/LICENSE
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/README.md
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/LICENSE
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/css/bootstrap-glyphicons.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/css/bootstrap-glyphicons.min.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.eot
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.svg
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.ttf
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff2
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.less
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.min.css
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/jquery/LICENSE.txt
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/jquery/README.md
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/jquery/dist/jquery.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/jquery/dist/jquery.min.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/jquery/dist/jquery.min.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/jquery/dist/jquery.slim.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/jquery/dist/jquery.slim.min.js
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.IdentityServer/wwwroot/lib/jquery/dist/jquery.slim.min.map
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.McpServer/McpDemo.McpServer.csproj
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.McpServer/Program.cs
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.McpServer/Properties/launchSettings.json
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.McpServer/appsettings.Development.json
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.McpServer/appsettings.json
create mode 100644 IdentityServer/v7/McpDemo/McpDemo.sln
diff --git a/IdentityServer/v7/McpDemo/.gitignore b/IdentityServer/v7/McpDemo/.gitignore
new file mode 100644
index 00000000..81bbbae9
--- /dev/null
+++ b/IdentityServer/v7/McpDemo/.gitignore
@@ -0,0 +1 @@
+keys/
diff --git a/IdentityServer/v7/McpDemo/McpDemo.Client/McpDemo.Client.csproj b/IdentityServer/v7/McpDemo/McpDemo.Client/McpDemo.Client.csproj
new file mode 100644
index 00000000..76b7a7eb
--- /dev/null
+++ b/IdentityServer/v7/McpDemo/McpDemo.Client/McpDemo.Client.csproj
@@ -0,0 +1,15 @@
+ You can close this window now. You do not have permission to access that resource. Choose how to login Would you like to logout of IdentityServer?
+ Do you wish to continue?
+ Please enter the code displayed on your device. Please confirm that the authorization request matches the code: @Model.Input.UserCode. Uncheck the permissions you do not wish to grant. You have successfully authorized the device Below is the list of applications you have given permission to and the resources they have access to. Once complete, you may close this tab.Authentication complete
Access Denied
+ Create Account
+ Login
+ Local Account
+ External Account
+
+ @foreach (var provider in Model.View.VisibleExternalProviders)
+ {
+
+ Logout
+
+ Logout
+ You are now logged out
+
+
+ @if (Model.View.PostLogoutRedirectUri != null)
+ {
+ Pending Backchannel Login Requests
+
+
+
+ }
+ else
+ {
+
+
+
+
+ @foreach (var login in Model.Logins)
+ {
+ Id
+ Client Id
+ Binding Message
+
+
+
+ }
+
+ @login.InternalId
+ @login.Client.ClientId
+ @login.BindingMessage
+
+ Process
+
+
+
+ @Model.LoginRequest.Client.ClientName
+ is requesting your permission
+
+
+
+ Verify that this identifier matches what the client is displaying:
+ @Model.LoginRequest.BindingMessage
+
+
+ User Code
+
+
+ @Model.View.ClientName
+ is requesting your permission
+
+ Success
+ Authentication Cookie
+ Claims
+
+ @foreach (var claim in Model.View.AuthenticateResult.Principal.Claims)
+ {
+
+ }
+ Properties
+
+ @if (Model.View.AuthenticateResult.Properties != null)
+ {
+ @foreach (var prop in Model.View.AuthenticateResult.Properties.Items)
+ {
+
+ Client Application Permissions
+
+ }
+ @grant.ClientName
+
+ @if (grant.Description != null)
+ {
+
+
+ @foreach (var name in grant.IdentityGrantNames)
+ {
+
+
+ @foreach (var name in grant.ApiGrantNames)
+ {
+
+ Error
+
+
+
+
+ Welcome to Duende IdentityServer
+ (version @Model.Version)
+
+
+
+ @if (Model.License != null)
+ {
+ License
+
+
+ }
+You are now being returned to the application
+ User Sessions
+
+
+ @if (Model.UserSessions.Results.Any())
+ {
+
+
+
+
+
+
+
+ @foreach (var session in Model.UserSessions.Results)
+ {
+ Subject Id
+ Session Id
+ Display Name
+ Created
+ Expires
+
+
+
+ @session.SubjectId
+ @session.SessionId
+ @session.DisplayName
+ @session.Created
+ @session.Expires
+
+
+
+
+
+ }
+
+
+ Clients:
+ @if (session.ClientIds?.Any() == true)
+ {
+ @(session.ClientIds.Aggregate((x, y) => $"{x}, {y}"))
+ }
+ else
+ {
+ @("None")
+ }
+
+
+
+
+ Sleek, intuitive, and powerful front-end framework for faster and easier web development.
+
+ Explore Bootstrap docs »
+
+
+ Report bug
+ ·
+ Request feature
+ ·
+ Themes
+ ·
+ Blog
+
`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `