From 2b3e8e297df67294a98a755f7966800c2d4041a0 Mon Sep 17 00:00:00 2001
From: David De Smet <2607383+daviddesmet@users.noreply.github.com>
Date: Tue, 12 Oct 2021 16:26:37 -0500
Subject: [PATCH] Initial release
---
.editorconfig | 152 +
.github/dependabot.yml | 7 +
.github/release-drafter.yml | 35 +
.github/stale.yml | 18 +
.github/workflows/dotnet-core.yml | 83 +
.github/workflows/release-drafter.yml | 16 +
.gitignore | 336 +
AspNetCore.IdentityServer.Mongo.sln | 51 +
Directory.Build.props | 40 +
Directory.Build.targets | 54 +
build.cake | 62 +
dotnet-tools.json | 12 +
global.json | 6 +
.../AspNetIdentity.Sample.csproj | 17 +
.../Models/ApplicationUser.cs | 9 +
.../Pages/Account/Login/Index.cshtml | 89 +
.../Pages/Account/Login/Index.cshtml.cs | 205 +
.../Pages/Account/Login/InputModel.cs | 19 +
.../Pages/Account/Login/LoginOptions.cs | 12 +
.../Pages/Account/Login/ViewModel.cs | 24 +
.../Pages/Account/Logout/Index.cshtml | 17 +
.../Pages/Account/Logout/Index.cshtml.cs | 100 +
.../Pages/Account/Logout/LoggedOut.cshtml | 30 +
.../Pages/Account/Logout/LoggedOut.cshtml.cs | 31 +
.../Account/Logout/LoggedOutViewModel.cs | 10 +
.../Pages/Account/Logout/LogoutOptions.cs | 8 +
.../Pages/Consent/ConsentOptions.cs | 12 +
.../Pages/Consent/Index.cshtml | 107 +
.../Pages/Consent/Index.cshtml.cs | 227 +
.../Pages/Consent/InputModel.cs | 13 +
.../Pages/Consent/ViewModel.cs | 33 +
.../Pages/Consent/_ScopeListItem.cshtml | 47 +
.../Pages/Device/DeviceOptions.cs | 13 +
.../Pages/Device/Index.cshtml | 141 +
.../Pages/Device/Index.cshtml.cs | 205 +
.../Pages/Device/InputModel.cs | 14 +
.../Pages/Device/Success.cshtml | 12 +
.../Pages/Device/Success.cshtml.cs | 14 +
.../Pages/Device/ViewModel.cs | 25 +
.../Pages/Device/_ScopeListItem.cshtml | 35 +
.../Pages/Diagnostics/Index.cshtml | 61 +
.../Pages/Diagnostics/Index.cshtml.cs | 29 +
.../Pages/Diagnostics/ViewModel.cs | 28 +
.../AspNetIdentity.Sample/Pages/Extensions.cs | 40 +
.../Pages/ExternalLogin/Callback.cshtml | 19 +
.../Pages/ExternalLogin/Callback.cshtml.cs | 204 +
.../Pages/ExternalLogin/Challenge.cshtml | 19 +
.../Pages/ExternalLogin/Challenge.cshtml.cs | 42 +
.../Pages/Grants/Index.cshtml | 90 +
.../Pages/Grants/Index.cshtml.cs | 81 +
.../Pages/Grants/ViewModel.cs | 23 +
.../Pages/Home/Error/Index.cshtml | 35 +
.../Pages/Home/Error/Index.cshtml.cs | 41 +
.../Pages/Home/Error/ViewModel.cs | 15 +
.../AspNetIdentity.Sample/Pages/Index.cshtml | 29 +
.../Pages/Index.cshtml.cs | 15 +
.../Pages/Redirect/Index.cshtml | 14 +
.../Pages/Redirect/Index.cshtml.cs | 21 +
.../Pages/SecurityHeadersAttribute.cs | 52 +
.../Pages/Shared/_Layout.cshtml | 29 +
.../Pages/Shared/_Nav.cshtml | 32 +
.../Pages/Shared/_ValidationSummary.cshtml | 7 +
.../Pages/_ViewImports.cshtml | 2 +
.../Pages/_ViewStart.cshtml | 3 +
samples/AspNetIdentity.Sample/Program.cs | 62 +
samples/AspNetIdentity.Sample/Startup.cs | 85 +
.../AspNetIdentity.Sample/appsettings.json | 7 +
.../wwwroot/css/site.css | 30 +
.../wwwroot/css/site.min.css | 1 +
.../wwwroot/css/site.scss | 51 +
.../wwwroot/duende-logo.svg | 1 +
.../AspNetIdentity.Sample/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 +
.../IdentityServer.Sample.csproj | 17 +
.../Pages/Account/Login/Index.cshtml | 88 +
.../Pages/Account/Login/Index.cshtml.cs | 226 +
.../Pages/Account/Login/InputModel.cs | 19 +
.../Pages/Account/Login/LoginOptions.cs | 12 +
.../Pages/Account/Login/ViewModel.cs | 24 +
.../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 | 34 +
.../Account/Logout/LoggedOutViewModel.cs | 10 +
.../Pages/Account/Logout/LogoutOptions.cs | 8 +
.../Pages/Consent/ConsentOptions.cs | 12 +
.../Pages/Consent/Index.cshtml | 107 +
.../Pages/Consent/Index.cshtml.cs | 227 +
.../Pages/Consent/InputModel.cs | 13 +
.../Pages/Consent/ViewModel.cs | 33 +
.../Pages/Consent/_ScopeListItem.cshtml | 47 +
.../Pages/Device/DeviceOptions.cs | 13 +
.../Pages/Device/Index.cshtml | 141 +
.../Pages/Device/Index.cshtml.cs | 218 +
.../Pages/Device/InputModel.cs | 14 +
.../Pages/Device/Success.cshtml | 12 +
.../Pages/Device/Success.cshtml.cs | 14 +
.../Pages/Device/ViewModel.cs | 25 +
.../Pages/Device/_ScopeListItem.cshtml | 35 +
.../Pages/Diagnostics/Index.cshtml | 61 +
.../Pages/Diagnostics/Index.cshtml.cs | 29 +
.../Pages/Diagnostics/ViewModel.cs | 28 +
.../IdentityServer.Sample/Pages/Extensions.cs | 40 +
.../Pages/ExternalLogin/Callback.cshtml | 19 +
.../Pages/ExternalLogin/Callback.cshtml.cs | 152 +
.../Pages/ExternalLogin/Challenge.cshtml | 19 +
.../Pages/ExternalLogin/Challenge.cshtml.cs | 42 +
.../Pages/Grants/Index.cshtml | 89 +
.../Pages/Grants/Index.cshtml.cs | 81 +
.../Pages/Grants/ViewModel.cs | 23 +
.../Pages/Home/Error/Index.cshtml | 33 +
.../Pages/Home/Error/Index.cshtml.cs | 41 +
.../Pages/Home/Error/ViewModel.cs | 15 +
.../IdentityServer.Sample/Pages/Index.cshtml | 29 +
.../Pages/Index.cshtml.cs | 18 +
.../Pages/Redirect/Index.cshtml | 13 +
.../Pages/Redirect/Index.cshtml.cs | 21 +
.../Pages/SecurityHeadersAttribute.cs | 53 +
.../Pages/Shared/_Layout.cshtml | 29 +
.../Pages/Shared/_Nav.cshtml | 32 +
.../Pages/Shared/_ValidationSummary.cshtml | 7 +
.../Pages/_ViewImports.cshtml | 2 +
.../Pages/_ViewStart.cshtml | 3 +
samples/IdentityServer.Sample/Program.cs | 62 +
samples/IdentityServer.Sample/Startup.cs | 63 +
.../TestOperationalStoreNotification.cs | 33 +
samples/IdentityServer.Sample/TestUsers.cs | 62 +
.../IdentityServer.Sample/appsettings.json | 7 +
.../wwwroot/css/site.css | 30 +
.../wwwroot/css/site.min.css | 1 +
.../wwwroot/css/site.scss | 51 +
.../wwwroot/duende-logo.svg | 1 +
.../IdentityServer.Sample/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 +
.../AspNetCore.IdentityServer.Mongo.csproj | 20 +
.../ConfigurationStoreOptions.cs | 49 +
.../Configuration/OperationalStoreOptions.cs | 80 +
.../DbContexts/ConfigurationDbContext.cs | 51 +
.../DbContexts/JobSchedulerDbContext.cs | 41 +
.../DbContexts/PersistedGrantDbContext.cs | 45 +
.../Entities/ApiResource.cs | 53 +
.../Entities/ApiResourceClaim.cs | 6 +
.../Entities/ApiResourceProperty.cs | 6 +
.../Entities/ApiResourceScope.cs | 16 +
.../Entities/ApiResourceSecret.cs | 6 +
.../Entities/ApiScope.cs | 35 +
.../Entities/ApiScopeClaim.cs | 6 +
.../Entities/ApiScopeProperty.cs | 6 +
.../Entities/Client.cs | 133 +
.../Entities/ClientClaim.cs | 20 +
.../Entities/ClientCorsOrigin.cs | 16 +
.../Entities/ClientGrantType.cs | 16 +
.../Entities/ClientIdPRestriction.cs | 16 +
.../Entities/ClientPostLogoutRedirectUri.cs | 16 +
.../Entities/ClientProperty.cs | 6 +
.../Entities/ClientRedirectUri.cs | 16 +
.../Entities/ClientScope.cs | 16 +
.../Entities/ClientSecret.cs | 6 +
.../Entities/DeviceFlowCode.cs | 97 +
.../Entities/IdentityProvider.cs | 40 +
.../Entities/IdentityResource.cs | 43 +
.../Entities/IdentityResourceClaim.cs | 6 +
.../Entities/IdentityResourceProperty.cs | 6 +
.../Entities/Jobs/JobSchedule.cs | 19 +
.../Entities/Key.cs | 31 +
.../Entities/PersistedGrant.cs | 103 +
.../Entities/Property.cs | 20 +
.../Entities/Secret.cs | 25 +
.../Entities/UserClaim.cs | 16 +
.../IdentityServerBuilderExtensions.cs | 106 +
.../Extensions/ServiceCollectionExtensions.cs | 72 +
.../Interfaces/IConfigurationDbContext.cs | 56 +
.../Interfaces/IJobSchedulerDbContext.cs | 19 +
.../Interfaces/IPersistedGrantDbContext.cs | 35 +
.../AllowedSigningAlgorithmsConverter.cs | 32 +
.../Mappers/ApiResourceMapperProfile.cs | 42 +
.../Mappers/ApiResourceMappers.cs | 30 +
.../Mappers/ApiScopeMapperProfile.cs | 32 +
.../Mappers/ApiScopeMappers.cs | 30 +
.../Mappers/ClientMapperProfile.cs | 66 +
.../Mappers/ClientMappers.cs | 30 +
.../Mappers/IdentityProviderMapperProfile.cs | 37 +
.../Mappers/IdentityProviderMappers.cs | 31 +
.../Mappers/IdentityResourceMapperProfile.cs | 30 +
.../Mappers/IdentityResourceMappers.cs | 30 +
.../Mappers/PersistedGrantMapperProfile.cs | 18 +
.../Mappers/PersistedGrantMappers.cs | 38 +
.../ConfigureMongoDbIndexesService.cs | 65 +
.../Services/CorsPolicyService.cs | 50 +
.../Stores/ClientStore.cs | 58 +
.../Stores/DeviceFlowStore.cs | 173 +
.../Stores/IdentityProviderStore.cs | 85 +
.../Stores/PersistedGrantStore.cs | 132 +
.../Stores/ResourceStore.cs | 141 +
.../Stores/SigningKeyStore.cs | 97 +
.../IOperationalStoreNotification.cs | 26 +
.../TokenCleanup/TokenCleanupHost.cs | 157 +
.../TokenCleanup/TokenCleanupService.cs | 240 +
282 files changed, 117383 insertions(+)
create mode 100644 .editorconfig
create mode 100644 .github/dependabot.yml
create mode 100644 .github/release-drafter.yml
create mode 100644 .github/stale.yml
create mode 100644 .github/workflows/dotnet-core.yml
create mode 100644 .github/workflows/release-drafter.yml
create mode 100644 .gitignore
create mode 100644 AspNetCore.IdentityServer.Mongo.sln
create mode 100644 Directory.Build.props
create mode 100644 Directory.Build.targets
create mode 100644 build.cake
create mode 100644 dotnet-tools.json
create mode 100644 global.json
create mode 100644 samples/AspNetIdentity.Sample/AspNetIdentity.Sample.csproj
create mode 100644 samples/AspNetIdentity.Sample/Models/ApplicationUser.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Login/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Login/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Login/InputModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Login/LoginOptions.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Login/ViewModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Logout/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Logout/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Logout/LoggedOut.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Logout/LoggedOut.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Logout/LoggedOutViewModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Account/Logout/LogoutOptions.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Consent/ConsentOptions.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Consent/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Consent/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Consent/InputModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Consent/ViewModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Consent/_ScopeListItem.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Device/DeviceOptions.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Device/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Device/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Device/InputModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Device/Success.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Device/Success.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Device/ViewModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Device/_ScopeListItem.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Diagnostics/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Diagnostics/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Diagnostics/ViewModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Extensions.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/ExternalLogin/Callback.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/ExternalLogin/Callback.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/ExternalLogin/Challenge.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/ExternalLogin/Challenge.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Grants/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Grants/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Grants/ViewModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Home/Error/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Home/Error/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Home/Error/ViewModel.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Redirect/Index.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Redirect/Index.cshtml.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/SecurityHeadersAttribute.cs
create mode 100644 samples/AspNetIdentity.Sample/Pages/Shared/_Layout.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Shared/_Nav.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/Shared/_ValidationSummary.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/_ViewImports.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Pages/_ViewStart.cshtml
create mode 100644 samples/AspNetIdentity.Sample/Program.cs
create mode 100644 samples/AspNetIdentity.Sample/Startup.cs
create mode 100644 samples/AspNetIdentity.Sample/appsettings.json
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/css/site.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/css/site.min.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/css/site.scss
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/duende-logo.svg
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/favicon.ico
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/js/signin-redirect.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/js/signout-redirect.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/LICENSE
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/README.md
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/LICENSE
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/css/bootstrap-glyphicons.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/css/bootstrap-glyphicons.min.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.eot
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.svg
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.ttf
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff2
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.less
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.min.css
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/jquery/LICENSE.txt
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/jquery/README.md
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/jquery/dist/jquery.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/jquery/dist/jquery.min.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/jquery/dist/jquery.min.map
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/jquery/dist/jquery.slim.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/jquery/dist/jquery.slim.min.js
create mode 100644 samples/AspNetIdentity.Sample/wwwroot/lib/jquery/dist/jquery.slim.min.map
create mode 100644 samples/IdentityServer.Sample/IdentityServer.Sample.csproj
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Login/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Login/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Login/InputModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Login/LoginOptions.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Login/ViewModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Logout/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Logout/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Logout/LoggedOut.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Logout/LoggedOut.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Logout/LoggedOutViewModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Account/Logout/LogoutOptions.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Consent/ConsentOptions.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Consent/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Consent/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Consent/InputModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Consent/ViewModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Consent/_ScopeListItem.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Device/DeviceOptions.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Device/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Device/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Device/InputModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Device/Success.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Device/Success.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Device/ViewModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Device/_ScopeListItem.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Diagnostics/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Diagnostics/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Diagnostics/ViewModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Extensions.cs
create mode 100644 samples/IdentityServer.Sample/Pages/ExternalLogin/Callback.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/ExternalLogin/Callback.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/ExternalLogin/Challenge.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/ExternalLogin/Challenge.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Grants/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Grants/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Grants/ViewModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Home/Error/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Home/Error/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Home/Error/ViewModel.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Redirect/Index.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Redirect/Index.cshtml.cs
create mode 100644 samples/IdentityServer.Sample/Pages/SecurityHeadersAttribute.cs
create mode 100644 samples/IdentityServer.Sample/Pages/Shared/_Layout.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Shared/_Nav.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/Shared/_ValidationSummary.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/_ViewImports.cshtml
create mode 100644 samples/IdentityServer.Sample/Pages/_ViewStart.cshtml
create mode 100644 samples/IdentityServer.Sample/Program.cs
create mode 100644 samples/IdentityServer.Sample/Startup.cs
create mode 100644 samples/IdentityServer.Sample/TestOperationalStoreNotification.cs
create mode 100644 samples/IdentityServer.Sample/TestUsers.cs
create mode 100644 samples/IdentityServer.Sample/appsettings.json
create mode 100644 samples/IdentityServer.Sample/wwwroot/css/site.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/css/site.min.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/css/site.scss
create mode 100644 samples/IdentityServer.Sample/wwwroot/duende-logo.svg
create mode 100644 samples/IdentityServer.Sample/wwwroot/favicon.ico
create mode 100644 samples/IdentityServer.Sample/wwwroot/js/signin-redirect.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/js/signout-redirect.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/LICENSE
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/README.md
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/LICENSE
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/css/bootstrap-glyphicons.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/css/bootstrap-glyphicons.min.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.eot
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.svg
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.ttf
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff2
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.less
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/bootstrap4-glyphicons/maps/glyphicons-fontawesome.min.css
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/jquery/LICENSE.txt
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/jquery/README.md
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/jquery/dist/jquery.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/jquery/dist/jquery.min.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/jquery/dist/jquery.min.map
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/jquery/dist/jquery.slim.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/jquery/dist/jquery.slim.min.js
create mode 100644 samples/IdentityServer.Sample/wwwroot/lib/jquery/dist/jquery.slim.min.map
create mode 100644 src/AspNetCore.IdentityServer.Mongo/AspNetCore.IdentityServer.Mongo.csproj
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Configuration/ConfigurationStoreOptions.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Configuration/OperationalStoreOptions.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/DbContexts/ConfigurationDbContext.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/DbContexts/JobSchedulerDbContext.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/DbContexts/PersistedGrantDbContext.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ApiResource.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ApiResourceClaim.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ApiResourceProperty.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ApiResourceScope.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ApiResourceSecret.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ApiScope.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ApiScopeClaim.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ApiScopeProperty.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/Client.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientClaim.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientCorsOrigin.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientGrantType.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientIdPRestriction.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientPostLogoutRedirectUri.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientProperty.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientRedirectUri.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientScope.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/ClientSecret.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/DeviceFlowCode.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/IdentityProvider.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/IdentityResource.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/IdentityResourceClaim.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/IdentityResourceProperty.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/Jobs/JobSchedule.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/Key.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/PersistedGrant.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/Property.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/Secret.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Entities/UserClaim.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Extensions/IdentityServerBuilderExtensions.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Extensions/ServiceCollectionExtensions.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Interfaces/IConfigurationDbContext.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Interfaces/IJobSchedulerDbContext.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Interfaces/IPersistedGrantDbContext.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/AllowedSigningAlgorithmsConverter.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/ApiResourceMapperProfile.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/ApiResourceMappers.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/ApiScopeMapperProfile.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/ApiScopeMappers.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/ClientMapperProfile.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/ClientMappers.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/IdentityProviderMapperProfile.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/IdentityProviderMappers.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/IdentityResourceMapperProfile.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/IdentityResourceMappers.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/PersistedGrantMapperProfile.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Mappers/PersistedGrantMappers.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Services/ConfigureMongoDbIndexesService.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Services/CorsPolicyService.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Stores/ClientStore.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Stores/DeviceFlowStore.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Stores/IdentityProviderStore.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Stores/PersistedGrantStore.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Stores/ResourceStore.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/Stores/SigningKeyStore.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/TokenCleanup/IOperationalStoreNotification.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/TokenCleanup/TokenCleanupHost.cs
create mode 100644 src/AspNetCore.IdentityServer.Mongo/TokenCleanup/TokenCleanupService.cs
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..47ff3e7
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,152 @@
+# EditorConfig is awesome: http://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+[*]
+end_of_line = crlf
+trim_trailing_whitespace = true
+
+# Code files
+[*.{cs,csx,vb,vbx}]
+indent_size = 4
+charset = utf-8-bom
+
+# Xml project files
+[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
+indent_size = 2
+indent_style = space
+
+# Xml config files
+[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
+indent_size = 2
+
+# JSON files
+[*.json]
+indent_size = 2
+
+# DotNet code style settings
+[*.{cs,vb}]
+# Sort using and Import directives with System.* appearing first
+dotnet_sort_system_directives_first = true
+# Avoid "this." and "Me." if not necessary
+dotnet_style_qualification_for_event = false:warning
+dotnet_style_qualification_for_field = false:warning
+dotnet_style_qualification_for_method = false:warning
+dotnet_style_qualification_for_property = false:warning
+# Use language keywords instead of framework type names for type references (BCL)
+dotnet_style_predefined_type_for_locals_parameters_members = true:warning
+dotnet_style_predefined_type_for_member_access = true:warning
+# Parentheses preferences
+dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
+dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
+dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
+# Suggest more modern language features when available
+# Expression-level preferences
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_null_propagation = true:warning
+dotnet_style_object_initializer = true:warning
+dotnet_style_operator_placement_when_wrapping = beginning_of_line
+dotnet_style_prefer_auto_properties = true:suggestion
+dotnet_style_prefer_compound_assignment = true:suggestion
+dotnet_style_prefer_conditional_expression_over_assignment = true:silent
+dotnet_style_prefer_conditional_expression_over_return = true:silent
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
+dotnet_style_prefer_simplified_interpolation = true:suggestion
+# Modifier preferences
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
+# Field preferences
+dotnet_style_readonly_field = true:suggestion
+# Parameter preferences
+dotnet_code_quality_unused_parameters = all:suggestion
+
+# CSharp code style settings
+[*.cs]
+# Prefer "var" everywhere
+csharp_style_var_elsewhere = true:suggestion
+csharp_style_var_for_built_in_types = true:warning
+csharp_style_var_when_type_is_apparent = true:warning
+# Prefer method-like constructs to have a block body
+csharp_style_expression_bodied_constructors = true:warning
+csharp_style_expression_bodied_operators = true:warning
+csharp_style_expression_bodied_methods = true:warning
+csharp_style_expression_bodied_lambdas = true:silent
+csharp_style_expression_bodied_local_functions = false:silent
+# Prefer property-like constructs to have an expression-body
+csharp_style_expression_bodied_accessors = true:warning
+csharp_style_expression_bodied_indexers = true:warning
+csharp_style_expression_bodied_properties = true:warning
+# Suggest more modern language features when available
+# Pattern matching preferences
+csharp_style_pattern_matching_over_as_with_null_check = true:warning
+csharp_style_pattern_matching_over_is_with_cast_check = true:warning
+csharp_style_prefer_switch_expression = true:suggestion
+# Null-checking preferences
+csharp_style_conditional_delegate_call = true:warning
+# Modifier preferences
+csharp_prefer_static_local_function = true:suggestion
+csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:silent
+# Code-block preferences
+csharp_prefer_braces = true:silent
+csharp_prefer_simple_using_statement = true:suggestion
+# Expression-level preferences
+csharp_prefer_simple_default_expression = true:suggestion
+csharp_style_deconstructed_variable_declaration = true:suggestion
+csharp_style_inlined_variable_declaration = true:suggestion
+csharp_style_pattern_local_over_anonymous_function = true:suggestion
+csharp_style_prefer_index_operator = true:suggestion
+csharp_style_prefer_range_operator = true:suggestion
+csharp_style_throw_expression = true:suggestion
+csharp_style_unused_value_assignment_preference = discard_variable:suggestion
+csharp_style_unused_value_expression_statement_preference = discard_variable:silent
+csharp_style_throw_expression = true:warning
+# 'using' directive preferences
+csharp_using_directive_placement = inside_namespace:warning
+# C# Formatting Rules
+# New line preferences
+csharp_new_line_before_catch = true
+csharp_new_line_before_else = true
+csharp_new_line_before_finally = true
+csharp_new_line_before_members_in_anonymous_types = true
+csharp_new_line_before_members_in_object_initializers = true
+csharp_new_line_before_open_brace = all
+csharp_new_line_between_query_expression_clauses = true
+# Indentation preferences
+csharp_indent_block_contents = true
+csharp_indent_braces = false
+csharp_indent_case_contents = true
+csharp_indent_case_contents_when_block = true
+csharp_indent_labels = one_less_than_current
+csharp_indent_switch_labels = true
+# Space preferences
+csharp_space_after_cast = false
+csharp_space_after_colon_in_inheritance_clause = true
+csharp_space_after_comma = true
+csharp_space_after_dot = false
+csharp_space_after_keywords_in_control_flow_statements = true
+csharp_space_after_semicolon_in_for_statement = true
+csharp_space_around_binary_operators = before_and_after
+csharp_space_around_declaration_statements = false
+csharp_space_before_colon_in_inheritance_clause = true
+csharp_space_before_comma = false
+csharp_space_before_dot = false
+csharp_space_before_open_square_brackets = false
+csharp_space_before_semicolon_in_for_statement = false
+csharp_space_between_empty_square_brackets = false
+csharp_space_between_method_call_empty_parameter_list_parentheses = false
+csharp_space_between_method_call_name_and_opening_parenthesis = false
+csharp_space_between_method_call_parameter_list_parentheses = false
+csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
+csharp_space_between_method_declaration_name_and_open_parenthesis = false
+csharp_space_between_method_declaration_parameter_list_parentheses = false
+csharp_space_between_parentheses = false
+csharp_space_between_square_brackets = false
+# Wrapping preferences
+csharp_preserve_single_line_blocks = true
+csharp_preserve_single_line_statements = true
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..aec207e
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,7 @@
+version: 2
+updates:
+- package-ecosystem: nuget
+ directory: "/"
+ schedule:
+ interval: daily
+ open-pull-requests-limit: 10
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
new file mode 100644
index 0000000..42f4634
--- /dev/null
+++ b/.github/release-drafter.yml
@@ -0,0 +1,35 @@
+# release-drafter automatically creates a draft release for you each time you complete a PR in the master branch.
+# It uses GitHub labels to categorize changes (See categories) and draft the release.
+# release-drafter also generates a version for your release based on GitHub labels. You can add a label of 'major',
+# 'minor' or 'patch' to determine which number in the version to increment.
+# You may need to add these labels yourself.
+# See https://github.com/release-drafter/release-drafter
+name-template: '$RESOLVED_VERSION'
+tag-template: '$RESOLVED_VERSION'
+categories:
+ - title: '🚀 Features'
+ labels:
+ - 'enhancement'
+ - title: '🐛 Bug Fixes'
+ labels:
+ - 'bug'
+ - 'bugfix'
+ - 'fix'
+ - title: '🧰 Maintenance'
+ labels:
+ - 'maintenance'
+version-resolver:
+ major:
+ labels:
+ - 'major'
+ minor:
+ labels:
+ - 'minor'
+ patch:
+ labels:
+ - 'patch'
+ default: patch
+template: |
+ $CHANGES
+ ## 👨🏼💻 Contributors
+ $CONTRIBUTORS
diff --git a/.github/stale.yml b/.github/stale.yml
new file mode 100644
index 0000000..5791f60
--- /dev/null
+++ b/.github/stale.yml
@@ -0,0 +1,18 @@
+# Number of days of inactivity before an issue becomes stale
+daysUntilStale: 60
+# Number of days of inactivity before a stale issue is closed
+daysUntilClose: 7
+# Issues with these labels will never be considered stale
+exemptLabels:
+ - pinned
+ - security
+# Label to use when marking an issue as stale
+staleLabel: stale
+# Comment to post when marking an issue as stale. Set to `false` to disable
+markComment: >
+ This issue has been automatically marked as stale because it has not had
+ recent activity. It will be closed in one week if no further activity occurs.
+
+ Thank you for your contributions.
+# Comment to post when closing a stale issue. Set to `false` to disable
+closeComment: false
diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml
new file mode 100644
index 0000000..3125a94
--- /dev/null
+++ b/.github/workflows/dotnet-core.yml
@@ -0,0 +1,83 @@
+name: CI
+
+on:
+ # Trigger the workflow on push or pull request,
+ # but only for the master branch
+ push:
+ branches:
+ - main
+ paths:
+ - 'src/**'
+ pull_request:
+ branches:
+ - main
+ paths:
+ - 'src/**'
+ release:
+ types:
+ - published
+
+env:
+ # Set the DOTNET_SKIP_FIRST_TIME_EXPERIENCE environment variable to stop wasting time caching packages
+ DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
+ # Disable sending usage data to Microsoft
+ DOTNET_CLI_TELEMETRY_OPTOUT: true
+ # Set the build number in MinVer
+ MINVERBUILDMETADATA: build.${{github.run_number}}
+
+jobs:
+ build:
+ name: Build on ${{matrix.os}}
+ runs-on: ${{matrix.os}}
+ strategy:
+ matrix:
+ os: [ubuntu-latest, windows-latest, macOS-latest]
+
+ steps:
+ - name: 'Checkout'
+ uses: actions/checkout@v1
+ - name: 'Git Fetch Tags'
+ run: git fetch --tags
+ - name: 'Install .NET SDK'
+ uses: actions/setup-dotnet@v1
+ - name: '.NET Restore'
+ run: dotnet tool restore
+ - name: 'Build Project'
+ run: dotnet cake --target=Build
+ - name: 'Pack NuGet'
+ run: dotnet cake --target=Pack
+ - name: 'Publish Artifacts'
+ uses: actions/upload-artifact@v1.0.0
+ with:
+ name: ${{matrix.os}}
+ path: './Artifacts'
+
+ push-github-packages:
+ name: 'Push GitHub Packages'
+ needs: build
+ if: github.ref == 'refs/heads/main' || github.event_name == 'release'
+ runs-on: windows-latest
+ steps:
+ - name: 'Download Artifact'
+ uses: actions/download-artifact@v1
+ with:
+ name: 'windows-latest'
+ - name: 'NuGet Push'
+ run: dotnet nuget push .\windows-latest\*.nupkg --source https://nuget.pkg.github.com/daviddesmet/index.json --skip-duplicate --api-key ${{secrets.GITHUB_TOKEN}}
+
+ push-nuget:
+ name: 'Push NuGet Packages'
+ needs: build
+ if: github.event_name == 'release'
+ runs-on: windows-latest
+ steps:
+ - name: 'Download Artifact'
+ uses: actions/download-artifact@v1
+ with:
+ name: 'windows-latest'
+ - name: 'NuGet Push'
+ run: |
+ Get-ChildItem .\windows-latest -Filter *.nupkg |
+ Where-Object { !$_.Name.Contains('preview') } |
+ ForEach-Object { dotnet nuget push $_ --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{secrets.NUGET_API_KEY}} }
+ shell: pwsh
diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml
new file mode 100644
index 0000000..b2cd5b8
--- /dev/null
+++ b/.github/workflows/release-drafter.yml
@@ -0,0 +1,16 @@
+name: Release Drafter
+
+on:
+ push:
+ branches:
+ - main
+ paths:
+ - 'src/**'
+
+jobs:
+ update_release_draft:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: release-drafter/release-drafter@v5
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7b7866c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,336 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+**/Properties/launchSettings.json
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# macOS related system files
+.DS_Store
+
+# IdentityServer signing keys
+is-signing-key-*.json
diff --git a/AspNetCore.IdentityServer.Mongo.sln b/AspNetCore.IdentityServer.Mongo.sln
new file mode 100644
index 0000000..8a7729b
--- /dev/null
+++ b/AspNetCore.IdentityServer.Mongo.sln
@@ -0,0 +1,51 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30114.105
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{5CC92EF3-A0E0-4215-8D5F-06BE563E2C1A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCore.IdentityServer.Mongo", "src\AspNetCore.IdentityServer.Mongo\AspNetCore.IdentityServer.Mongo.csproj", "{198B1386-F0B8-4D4F-BB13-0AB029AC9AA7}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{17177BA4-A7AA-432A-B0D6-468EAD2EA7CC}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{FB8B21E7-2C8D-439E-AB76-F9A5C196EDB1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityServer.Sample", "samples\IdentityServer.Sample\IdentityServer.Sample.csproj", "{C27D1339-2C92-47DA-8F02-3F54F7845DFA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetIdentity.Sample", "samples\AspNetIdentity.Sample\AspNetIdentity.Sample.csproj", "{1FF2F46A-4B40-406E-936C-1587D003A08F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {198B1386-F0B8-4D4F-BB13-0AB029AC9AA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {198B1386-F0B8-4D4F-BB13-0AB029AC9AA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {198B1386-F0B8-4D4F-BB13-0AB029AC9AA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {198B1386-F0B8-4D4F-BB13-0AB029AC9AA7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C27D1339-2C92-47DA-8F02-3F54F7845DFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C27D1339-2C92-47DA-8F02-3F54F7845DFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C27D1339-2C92-47DA-8F02-3F54F7845DFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C27D1339-2C92-47DA-8F02-3F54F7845DFA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1FF2F46A-4B40-406E-936C-1587D003A08F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1FF2F46A-4B40-406E-936C-1587D003A08F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1FF2F46A-4B40-406E-936C-1587D003A08F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1FF2F46A-4B40-406E-936C-1587D003A08F}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {198B1386-F0B8-4D4F-BB13-0AB029AC9AA7} = {5CC92EF3-A0E0-4215-8D5F-06BE563E2C1A}
+ {C27D1339-2C92-47DA-8F02-3F54F7845DFA} = {FB8B21E7-2C8D-439E-AB76-F9A5C196EDB1}
+ {1FF2F46A-4B40-406E-936C-1587D003A08F} = {FB8B21E7-2C8D-439E-AB76-F9A5C196EDB1}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {CEFC2F91-079F-4AD5-B0B9-D601DF5D37DF}
+ EndGlobalSection
+EndGlobal
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 0000000..d0a6689
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,40 @@
+ Choose how to login Would you like to logout of IdentityServer? 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.Login
+ Local Account
+ External Account
+
+ @foreach (var provider in Model.View.VisibleExternalProviders)
+ {
+
+ Logout
+
+ Logout
+ You are now logged out
+
+
+ @if (Model.View.PostLogoutRedirectUri != null)
+ {
+ User Code
+
+ @Model.View.ClientName
+ is requesting your permission
+
+ Success
+ Authentication Cookie
+ Claims
+
+ @foreach (var claim in Model.View.AuthenticateResult.Principal.Claims)
+ {
+
+ Properties
+
+ @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)
+
+
+You are now being returned to the application
+
+
+
+ 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 `