实例介绍
OpenIddict旨在为任何ASP.NET Core 2.1(及更高版本)应用提供实现OpenID Connect客户端、服务器和令牌验证支持的多功能解决方案。同时,通过原生Microsoft.Owin 4.2集成,也完全支持ASP.NET 4.6.1(及更高版本)应用。
OpenIddict全面支持代码/隐式/混合流程、客户端凭证/资源所有者密码授予以及设备授权流程。它天生支持Entity Framework Core、Entity Framework 6和MongoDB,并且可以实现自定义存储以支持其他提供商。
开发者若寻找简单且一站式的解决方案,强烈建议使用基于OpenIddict的OrchardCore及其OpenID模块,该模块提供了合理的默认设置,并提供了内置的管理GUI,以便轻松注册OpenID客户端应用程序。
要使用OpenIddict实现自定义OpenID Connect服务器,请阅读入门指南。专门的仓库中有示例演示如何将OpenIddict与不同的OAuth 2.0/OpenID Connect流程一起使用。
需要注意的是,ASP.NET Core 2.1在.NET Core 2.1、ASP.NET Core 3.1和5.0上不再得到微软的支持。尽管由于其.NET Standard 2.0兼容性,OpenIddict仍可在这些平台上使用,但强烈建议用户迁移到ASP.NET Core/.NET 6.0。
开发者被鼓励在实现自己的逻辑后,针对自己的部署执行一致性测试。示例仓库包含一个专门设计的示例,用于OpenID Connect提供商认证工具,证明OpenIddict可以轻松用于认证实现。
【实例截图】
【核心代码】
文件清单
└── openiddict-core-b0371ae00e003b46b73d420e2f2d0ed96c394632
├── Build.cmd
├── Directory.Build.props
├── Directory.Build.targets
├── Directory.Packages.props
├── LICENSE.md
├── NuGet.config
├── OpenIddict.sln
├── README.md
├── SECURITY.md
├── build.sh
├── eng
│ ├── CodeAnalysis.ruleset
│ ├── Signing.props
│ ├── Tools.props
│ ├── Version.Details.xml
│ ├── Versions.props
│ ├── common
│ │ ├── BuildConfiguration
│ │ │ └── build-configuration.json
│ │ ├── CIBuild.cmd
│ │ ├── PSScriptAnalyzerSettings.psd1
│ │ ├── README.md
│ │ ├── SetupNugetSources.ps1
│ │ ├── SetupNugetSources.sh
│ │ ├── build.ps1
│ │ ├── build.sh
│ │ ├── cibuild.sh
│ │ ├── cross
│ │ │ ├── arm
│ │ │ │ ├── sources.list.bionic
│ │ │ │ ├── sources.list.focal
│ │ │ │ ├── sources.list.jammy
│ │ │ │ ├── sources.list.jessie
│ │ │ │ ├── sources.list.trusty
│ │ │ │ ├── sources.list.xenial
│ │ │ │ ├── sources.list.zesty
│ │ │ │ ├── tizen
│ │ │ │ │ └── tizen.patch
│ │ │ │ ├── tizen-build-rootfs.sh
│ │ │ │ ├── tizen-fetch.sh
│ │ │ │ ├── trusty-lttng-2.4.patch
│ │ │ │ └── trusty.patch
│ │ │ ├── arm64
│ │ │ │ ├── sources.list.bionic
│ │ │ │ ├── sources.list.buster
│ │ │ │ ├── sources.list.focal
│ │ │ │ ├── sources.list.jammy
│ │ │ │ ├── sources.list.stretch
│ │ │ │ ├── sources.list.trusty
│ │ │ │ ├── sources.list.xenial
│ │ │ │ ├── sources.list.zesty
│ │ │ │ ├── tizen
│ │ │ │ │ └── tizen.patch
│ │ │ │ ├── tizen-build-rootfs.sh
│ │ │ │ └── tizen-fetch.sh
│ │ │ ├── armel
│ │ │ │ ├── armel.jessie.patch
│ │ │ │ ├── sources.list.jessie
│ │ │ │ ├── tizen
│ │ │ │ │ ├── tizen-dotnet.ks
│ │ │ │ │ └── tizen.patch
│ │ │ │ ├── tizen-build-rootfs.sh
│ │ │ │ └── tizen-fetch.sh
│ │ │ ├── armv6
│ │ │ │ └── sources.list.buster
│ │ │ ├── build-android-rootfs.sh
│ │ │ ├── build-rootfs.sh
│ │ │ ├── ppc64le
│ │ │ │ └── sources.list.bionic
│ │ │ ├── riscv64
│ │ │ │ └── sources.list.sid
│ │ │ ├── s390x
│ │ │ │ └── sources.list.bionic
│ │ │ ├── tizen-build-rootfs.sh
│ │ │ ├── tizen-fetch.sh
│ │ │ ├── toolchain.cmake
│ │ │ └── x86
│ │ │ ├── sources.list.bionic
│ │ │ ├── sources.list.focal
│ │ │ ├── sources.list.jammy
│ │ │ ├── sources.list.trusty
│ │ │ ├── sources.list.xenial
│ │ │ ├── tizen
│ │ │ │ └── tizen.patch
│ │ │ ├── tizen-build-rootfs.sh
│ │ │ └── tizen-fetch.sh
│ │ ├── darc-init.ps1
│ │ ├── darc-init.sh
│ │ ├── dotnet-install-scripts
│ │ │ ├── dotnet-install.ps1
│ │ │ └── dotnet-install.sh
│ │ ├── dotnet-install.cmd
│ │ ├── dotnet-install.ps1
│ │ ├── dotnet-install.sh
│ │ ├── enable-cross-org-publishing.ps1
│ │ ├── generate-graph-files.ps1
│ │ ├── generate-locproject.ps1
│ │ ├── generate-sbom-prep.ps1
│ │ ├── generate-sbom-prep.sh
│ │ ├── helixpublish.proj
│ │ ├── init-tools-native.cmd
│ │ ├── init-tools-native.ps1
│ │ ├── init-tools-native.sh
│ │ ├── internal
│ │ │ ├── Directory.Build.props
│ │ │ ├── NuGet.config
│ │ │ └── Tools.csproj
│ │ ├── internal-feed-operations.ps1
│ │ ├── internal-feed-operations.sh
│ │ ├── loc
│ │ │ └── P22DotNetHtmlLocalization.lss
│ │ ├── msbuild.ps1
│ │ ├── msbuild.sh
│ │ ├── native
│ │ │ ├── CommonLibrary.psm1
│ │ │ ├── common-library.sh
│ │ │ ├── find-native-compiler.sh
│ │ │ ├── init-compiler.sh
│ │ │ ├── init-distro-rid.sh
│ │ │ ├── init-os-and-arch.sh
│ │ │ ├── install-cmake-test.sh
│ │ │ ├── install-cmake.sh
│ │ │ └── install-tool.ps1
│ │ ├── performance
│ │ │ ├── blazor_perf.proj
│ │ │ ├── crossgen_perf.proj
│ │ │ ├── microbenchmarks.proj
│ │ │ ├── perfhelixpublish.proj
│ │ │ ├── performance-setup.ps1
│ │ │ └── performance-setup.sh
│ │ ├── pipeline-logging-functions.ps1
│ │ ├── pipeline-logging-functions.sh
│ │ ├── post-build
│ │ │ ├── add-build-to-channel.ps1
│ │ │ ├── check-channel-consistency.ps1
│ │ │ ├── nuget-validation.ps1
│ │ │ ├── post-build-utils.ps1
│ │ │ ├── publish-using-darc.ps1
│ │ │ ├── sourcelink-validation.ps1
│ │ │ ├── symbols-validation.ps1
│ │ │ └── trigger-subscriptions.ps1
│ │ ├── retain-build.ps1
│ │ ├── sdk-task.ps1
│ │ ├── sdl
│ │ │ ├── NuGet.config
│ │ │ ├── configure-sdl-tool.ps1
│ │ │ ├── execute-all-sdl-tools.ps1
│ │ │ ├── extract-artifact-archives.ps1
│ │ │ ├── extract-artifact-packages.ps1
│ │ │ ├── init-sdl.ps1
│ │ │ ├── packages.config
│ │ │ ├── push-gdn.ps1
│ │ │ ├── run-sdl.ps1
│ │ │ ├── sdl.ps1
│ │ │ └── trim-assets-version.ps1
│ │ ├── templates
│ │ │ ├── job
│ │ │ │ ├── execute-sdl.yml
│ │ │ │ ├── generate-graph-files.yml
│ │ │ │ ├── job.yml
│ │ │ │ ├── onelocbuild.yml
│ │ │ │ ├── performance.yml
│ │ │ │ ├── publish-build-assets.yml
│ │ │ │ ├── source-build.yml
│ │ │ │ └── source-index-stage1.yml
│ │ │ ├── jobs
│ │ │ │ ├── codeql-build.yml
│ │ │ │ ├── jobs.yml
│ │ │ │ └── source-build.yml
│ │ │ ├── phases
│ │ │ │ ├── base.yml
│ │ │ │ └── publish-build-assets.yml
│ │ │ ├── post-build
│ │ │ │ ├── channels
│ │ │ │ │ ├── generic-internal-channel.yml
│ │ │ │ │ └── generic-public-channel.yml
│ │ │ │ ├── common-variables.yml
│ │ │ │ ├── post-build.yml
│ │ │ │ ├── setup-maestro-vars.yml
│ │ │ │ └── trigger-subscription.yml
│ │ │ ├── steps
│ │ │ │ ├── add-build-to-channel.yml
│ │ │ │ ├── build-reason.yml
│ │ │ │ ├── component-governance.yml
│ │ │ │ ├── execute-codeql.yml
│ │ │ │ ├── execute-sdl.yml
│ │ │ │ ├── generate-sbom.yml
│ │ │ │ ├── perf-send-to-helix.yml
│ │ │ │ ├── publish-logs.yml
│ │ │ │ ├── retain-build.yml
│ │ │ │ ├── run-on-unix.yml
│ │ │ │ ├── run-on-windows.yml
│ │ │ │ ├── run-script-ifequalelse.yml
│ │ │ │ ├── send-to-helix.yml
│ │ │ │ ├── source-build.yml
│ │ │ │ ├── telemetry-end.yml
│ │ │ │ └── telemetry-start.yml
│ │ │ └── variables
│ │ │ ├── pool-providers.yml
│ │ │ └── sdl-variables.yml
│ │ ├── tools.ps1
│ │ └── tools.sh
│ └── key.snk
├── gen
│ └── OpenIddict.Client.WebIntegration.Generators
│ ├── OpenIddict.Client.WebIntegration.Generators.csproj
│ └── OpenIddictClientWebIntegrationGenerator.cs
├── global.json
├── package-icon.png
├── sandbox
│ ├── OpenIddict.Sandbox.AspNet.Client
│ │ ├── App_Start
│ │ │ ├── BundleConfig.cs
│ │ │ ├── FilterConfig.cs
│ │ │ └── RouteConfig.cs
│ │ ├── Controllers
│ │ │ ├── AuthenticationController.cs
│ │ │ └── HomeController.cs
│ │ ├── Fonts
│ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ └── glyphicons-halflings-regular.woff
│ │ ├── Global.asax
│ │ ├── Global.asax.cs
│ │ ├── Models
│ │ │ └── ApplicationDbContext.cs
│ │ ├── OpenIddict.Sandbox.AspNet.Client.csproj
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Scripts
│ │ │ ├── bootstrap.js
│ │ │ ├── bootstrap.min.js
│ │ │ ├── jquery-1.9.0.intellisense.js
│ │ │ ├── jquery-1.9.0.js
│ │ │ ├── jquery-1.9.0.min.js
│ │ │ └── jquery-1.9.0.min.map
│ │ ├── Startup.cs
│ │ ├── Stylesheets
│ │ │ ├── bootstrap-theme.css
│ │ │ ├── bootstrap-theme.css.map
│ │ │ ├── bootstrap-theme.min.css
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ ├── bootstrap.min.css
│ │ │ └── jumbotron-narrow.css
│ │ ├── ViewModels
│ │ │ └── Home
│ │ │ └── IndexViewModel.cs
│ │ ├── Views
│ │ │ ├── Home
│ │ │ │ └── Index.cshtml
│ │ │ ├── Shared
│ │ │ │ ├── Error.cshtml
│ │ │ │ └── _Layout.cshtml
│ │ │ ├── Web.config
│ │ │ └── _ViewStart.cshtml
│ │ ├── Web.Debug.config
│ │ ├── Web.Release.config
│ │ ├── Web.config
│ │ └── favicon.ico
│ ├── OpenIddict.Sandbox.AspNet.Server
│ │ ├── App_Start
│ │ │ ├── BundleConfig.cs
│ │ │ ├── FilterConfig.cs
│ │ │ ├── IdentityConfig.cs
│ │ │ ├── RouteConfig.cs
│ │ │ └── Startup.Auth.cs
│ │ ├── Content
│ │ │ ├── Site.css
│ │ │ ├── bootstrap-theme.css
│ │ │ ├── bootstrap-theme.css.map
│ │ │ ├── bootstrap-theme.min.css
│ │ │ ├── bootstrap-theme.min.css.map
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── Controllers
│ │ │ ├── AccountController.cs
│ │ │ ├── AuthenticationController.cs
│ │ │ ├── AuthorizationController.cs
│ │ │ ├── HomeController.cs
│ │ │ ├── ManageController.cs
│ │ │ └── ResourceController.cs
│ │ ├── Global.asax
│ │ ├── Global.asax.cs
│ │ ├── Helpers
│ │ │ ├── AsyncEnumerableExtensions.cs
│ │ │ └── FormValueRequiredAttribute.cs
│ │ ├── Models
│ │ │ ├── AccountViewModels.cs
│ │ │ ├── IdentityModels.cs
│ │ │ └── ManageViewModels.cs
│ │ ├── OpenIddict.Sandbox.AspNet.Server.csproj
│ │ ├── Properties
│ │ │ ├── launchSettings.json
│ │ │ ├── serviceDependencies.json
│ │ │ └── serviceDependencies.local.json
│ │ ├── Scripts
│ │ │ ├── bootstrap.js
│ │ │ ├── bootstrap.min.js
│ │ │ ├── jquery-3.4.1.intellisense.js
│ │ │ ├── jquery-3.4.1.js
│ │ │ ├── jquery-3.4.1.min.js
│ │ │ ├── jquery-3.4.1.min.map
│ │ │ ├── jquery-3.4.1.slim.js
│ │ │ ├── jquery-3.4.1.slim.min.js
│ │ │ ├── jquery-3.4.1.slim.min.map
│ │ │ ├── jquery.validate-vsdoc.js
│ │ │ ├── jquery.validate.js
│ │ │ ├── jquery.validate.min.js
│ │ │ ├── jquery.validate.unobtrusive.js
│ │ │ ├── jquery.validate.unobtrusive.min.js
│ │ │ └── modernizr-2.8.3.js
│ │ ├── Startup.cs
│ │ ├── ViewModels
│ │ │ └── Authorization
│ │ │ ├── AuthorizeViewModel.cs
│ │ │ └── LogoutViewModel.cs
│ │ ├── Views
│ │ │ ├── Account
│ │ │ │ ├── ConfirmEmail.cshtml
│ │ │ │ ├── ExternalLoginConfirmation.cshtml
│ │ │ │ ├── ExternalLoginFailure.cshtml
│ │ │ │ ├── ForgotPassword.cshtml
│ │ │ │ ├── ForgotPasswordConfirmation.cshtml
│ │ │ │ ├── Login.cshtml
│ │ │ │ ├── Register.cshtml
│ │ │ │ ├── ResetPassword.cshtml
│ │ │ │ ├── ResetPasswordConfirmation.cshtml
│ │ │ │ ├── SendCode.cshtml
│ │ │ │ ├── VerifyCode.cshtml
│ │ │ │ └── _ExternalLoginsListPartial.cshtml
│ │ │ ├── Authorization
│ │ │ │ ├── Authorize.cshtml
│ │ │ │ └── Logout.cshtml
│ │ │ ├── Home
│ │ │ │ ├── About.cshtml
│ │ │ │ ├── Contact.cshtml
│ │ │ │ └── Index.cshtml
│ │ │ ├── Manage
│ │ │ │ ├── AddPhoneNumber.cshtml
│ │ │ │ ├── ChangePassword.cshtml
│ │ │ │ ├── Index.cshtml
│ │ │ │ ├── ManageLogins.cshtml
│ │ │ │ ├── SetPassword.cshtml
│ │ │ │ └── VerifyPhoneNumber.cshtml
│ │ │ ├── Shared
│ │ │ │ ├── Error.cshtml
│ │ │ │ ├── Lockout.cshtml
│ │ │ │ ├── _Layout.cshtml
│ │ │ │ └── _LoginPartial.cshtml
│ │ │ ├── Web.config
│ │ │ └── _ViewStart.cshtml
│ │ ├── Web.Debug.config
│ │ ├── Web.Release.config
│ │ ├── Web.config
│ │ ├── favicon.ico
│ │ └── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ ├── OpenIddict.Sandbox.AspNetCore.Client
│ │ ├── Controllers
│ │ │ ├── AuthenticationController.cs
│ │ │ ├── ErrorController.cs
│ │ │ └── HomeController.cs
│ │ ├── Models
│ │ │ └── ApplicationDbContext.cs
│ │ ├── OpenIddict.Sandbox.AspNetCore.Client.csproj
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Startup.cs
│ │ ├── ViewModels
│ │ │ ├── Home
│ │ │ │ └── IndexViewModel.cs
│ │ │ └── Shared
│ │ │ └── ErrorViewModel.cs
│ │ ├── Views
│ │ │ ├── Home
│ │ │ │ └── Index.cshtml
│ │ │ ├── Shared
│ │ │ │ ├── Error.cshtml
│ │ │ │ └── _Layout.cshtml
│ │ │ ├── _ViewImports.cshtml
│ │ │ └── _ViewStart.cshtml
│ │ ├── Worker.cs
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── wwwroot
│ │ ├── fonts
│ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ └── glyphicons-halflings-regular.woff
│ │ ├── scripts
│ │ │ ├── bootstrap.js
│ │ │ ├── bootstrap.min.js
│ │ │ ├── jquery-1.9.0.intellisense.js
│ │ │ ├── jquery-1.9.0.js
│ │ │ ├── jquery-1.9.0.min.js
│ │ │ └── jquery-1.9.0.min.map
│ │ └── stylesheets
│ │ ├── bootstrap-theme.css
│ │ ├── bootstrap-theme.css.map
│ │ ├── bootstrap-theme.min.css
│ │ ├── bootstrap.css
│ │ ├── bootstrap.css.map
│ │ ├── bootstrap.min.css
│ │ └── jumbotron-narrow.css
│ ├── OpenIddict.Sandbox.AspNetCore.Server
│ │ ├── Controllers
│ │ │ ├── AccountController.cs
│ │ │ ├── AuthenticationController.cs
│ │ │ ├── AuthorizationController.cs
│ │ │ ├── ErrorController.cs
│ │ │ ├── HomeController.cs
│ │ │ ├── ManageController.cs
│ │ │ ├── ResourceController.cs
│ │ │ └── UserinfoController.cs
│ │ ├── Helpers
│ │ │ ├── AsyncEnumerableExtensions.cs
│ │ │ └── FormValueRequiredAttribute.cs
│ │ ├── Models
│ │ │ ├── ApplicationDbContext.cs
│ │ │ └── ApplicationUser.cs
│ │ ├── OpenIddict.Sandbox.AspNetCore.Server.csproj
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Services
│ │ │ ├── IEmailSender.cs
│ │ │ ├── ISmsSender.cs
│ │ │ └── MessageServices.cs
│ │ ├── Startup.cs
│ │ ├── ViewModels
│ │ │ ├── Account
│ │ │ │ ├── ExternalLoginConfirmationViewModel.cs
│ │ │ │ ├── ForgotPasswordViewModel.cs
│ │ │ │ ├── LoginViewModel.cs
│ │ │ │ ├── RegisterViewModel.cs
│ │ │ │ ├── ResetPasswordViewModel.cs
│ │ │ │ ├── SendCodeViewModel.cs
│ │ │ │ └── VerifyCodeViewModel.cs
│ │ │ ├── Authorization
│ │ │ │ ├── AuthorizeViewModel.cs
│ │ │ │ └── VerifyViewModel.cs
│ │ │ ├── Manage
│ │ │ │ ├── AddPhoneNumberViewModel.cs
│ │ │ │ ├── ChangePasswordViewModel.cs
│ │ │ │ ├── ConfigureTwoFactorViewModel.cs
│ │ │ │ ├── FactorViewModel.cs
│ │ │ │ ├── IndexViewModel.cs
│ │ │ │ ├── ManageLoginsViewModel.cs
│ │ │ │ ├── RemoveLoginViewModel.cs
│ │ │ │ ├── SetPasswordViewModel.cs
│ │ │ │ └── VerifyPhoneNumberViewModel.cs
│ │ │ └── Shared
│ │ │ └── ErrorViewModel.cs
│ │ ├── Views
│ │ │ ├── Account
│ │ │ │ ├── ConfirmEmail.cshtml
│ │ │ │ ├── ExternalLoginConfirmation.cshtml
│ │ │ │ ├── ExternalLoginFailure.cshtml
│ │ │ │ ├── ForgotPassword.cshtml
│ │ │ │ ├── ForgotPasswordConfirmation.cshtml
│ │ │ │ ├── Lockout.cshtml
│ │ │ │ ├── Login.cshtml
│ │ │ │ ├── Register.cshtml
│ │ │ │ ├── ResetPassword.cshtml
│ │ │ │ ├── ResetPasswordConfirmation.cshtml
│ │ │ │ ├── SendCode.cshtml
│ │ │ │ └── VerifyCode.cshtml
│ │ │ ├── Authorization
│ │ │ │ ├── Authorize.cshtml
│ │ │ │ ├── Logout.cshtml
│ │ │ │ └── Verify.cshtml
│ │ │ ├── Home
│ │ │ │ ├── About.cshtml
│ │ │ │ ├── Contact.cshtml
│ │ │ │ └── Index.cshtml
│ │ │ ├── Manage
│ │ │ │ ├── AddPhoneNumber.cshtml
│ │ │ │ ├── ChangePassword.cshtml
│ │ │ │ ├── Index.cshtml
│ │ │ │ ├── ManageLogins.cshtml
│ │ │ │ ├── RemoveLogin.cshtml
│ │ │ │ ├── SetPassword.cshtml
│ │ │ │ └── VerifyPhoneNumber.cshtml
│ │ │ ├── Shared
│ │ │ │ ├── Error.cshtml
│ │ │ │ ├── _Layout.cshtml
│ │ │ │ ├── _LoginPartial.cshtml
│ │ │ │ └── _ValidationScriptsPartial.cshtml
│ │ │ ├── _ViewImports.cshtml
│ │ │ └── _ViewStart.cshtml
│ │ ├── Worker.cs
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ ├── bower.json
│ │ ├── gulpfile.js
│ │ ├── package.json
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── site.css
│ │ ├── favicon.ico
│ │ ├── images
│ │ │ ├── ASP-NET-Banners-01.png
│ │ │ ├── ASP-NET-Banners-02.png
│ │ │ ├── Banner-01-Azure.png
│ │ │ └── Banner-02-VS.png
│ │ ├── js
│ │ │ └── site.js
│ │ └── lib
│ │ ├── bootstrap
│ │ │ ├── CNAME
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── Gruntfile.js
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── _config.yml
│ │ │ ├── _includes
│ │ │ │ ├── ads.html
│ │ │ │ ├── footer.html
│ │ │ │ ├── header.html
│ │ │ │ ├── nav-components.html
│ │ │ │ ├── nav-css.html
│ │ │ │ ├── nav-customize.html
│ │ │ │ ├── nav-getting-started.html
│ │ │ │ ├── nav-javascript.html
│ │ │ │ ├── nav-main.html
│ │ │ │ ├── old-bs-docs.html
│ │ │ │ └── social-buttons.html
│ │ │ ├── _layouts
│ │ │ │ ├── default.html
│ │ │ │ └── home.html
│ │ │ ├── assets
│ │ │ │ ├── css
│ │ │ │ │ ├── docs.css
│ │ │ │ │ └── pygments-manni.css
│ │ │ │ ├── ico
│ │ │ │ │ ├── apple-touch-icon-114-precomposed.png
│ │ │ │ │ ├── apple-touch-icon-144-precomposed.png
│ │ │ │ │ ├── apple-touch-icon-57-precomposed.png
│ │ │ │ │ ├── apple-touch-icon-72-precomposed.png
│ │ │ │ │ └── favicon.png
│ │ │ │ └── js
│ │ │ │ ├── application.js
│ │ │ │ ├── customizer.js
│ │ │ │ ├── filesaver.js
│ │ │ │ ├── holder.js
│ │ │ │ ├── html5shiv.js
│ │ │ │ ├── jquery.js
│ │ │ │ ├── jszip.js
│ │ │ │ ├── less.js
│ │ │ │ ├── raw-files.js
│ │ │ │ ├── respond.min.js
│ │ │ │ └── uglify.js
│ │ │ ├── bower.json
│ │ │ ├── browserstack.json
│ │ │ ├── components.html
│ │ │ ├── composer.json
│ │ │ ├── css.html
│ │ │ ├── customize.html
│ │ │ ├── dist
│ │ │ │ ├── css
│ │ │ │ │ ├── bootstrap-theme.css
│ │ │ │ │ ├── bootstrap-theme.min.css
│ │ │ │ │ ├── bootstrap.css
│ │ │ │ │ └── bootstrap.min.css
│ │ │ │ ├── fonts
│ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ └── glyphicons-halflings-regular.woff
│ │ │ │ └── js
│ │ │ │ ├── bootstrap.js
│ │ │ │ └── bootstrap.min.js
│ │ │ ├── examples
│ │ │ │ ├── carousel
│ │ │ │ │ ├── carousel.css
│ │ │ │ │ └── index.html
│ │ │ │ ├── grid
│ │ │ │ │ ├── grid.css
│ │ │ │ │ └── index.html
│ │ │ │ ├── jumbotron
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── jumbotron.css
│ │ │ │ ├── jumbotron-narrow
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── jumbotron-narrow.css
│ │ │ │ ├── justified-nav
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── justified-nav.css
│ │ │ │ ├── navbar
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── navbar.css
│ │ │ │ ├── navbar-fixed-top
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── navbar-fixed-top.css
│ │ │ │ ├── navbar-static-top
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── navbar-static-top.css
│ │ │ │ ├── non-responsive
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── non-responsive.css
│ │ │ │ ├── offcanvas
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── offcanvas.css
│ │ │ │ │ └── offcanvas.js
│ │ │ │ ├── screenshots
│ │ │ │ │ ├── carousel.jpg
│ │ │ │ │ ├── grid.jpg
│ │ │ │ │ ├── jumbotron-narrow.jpg
│ │ │ │ │ ├── jumbotron.jpg
│ │ │ │ │ ├── justified-nav.jpg
│ │ │ │ │ ├── navbar-fixed.jpg
│ │ │ │ │ ├── navbar-static.jpg
│ │ │ │ │ ├── navbar.jpg
│ │ │ │ │ ├── non-responsive.jpg
│ │ │ │ │ ├── offcanvas.jpg
│ │ │ │ │ ├── sign-in.jpg
│ │ │ │ │ ├── starter-template.jpg
│ │ │ │ │ ├── sticky-footer-navbar.jpg
│ │ │ │ │ ├── sticky-footer.jpg
│ │ │ │ │ └── theme.jpg
│ │ │ │ ├── signin
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── signin.css
│ │ │ │ ├── starter-template
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── starter-template.css
│ │ │ │ ├── sticky-footer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sticky-footer.css
│ │ │ │ ├── sticky-footer-navbar
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sticky-footer-navbar.css
│ │ │ │ └── theme
│ │ │ │ ├── index.html
│ │ │ │ └── theme.css
│ │ │ ├── fonts
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ └── glyphicons-halflings-regular.woff
│ │ │ ├── getting-started.html
│ │ │ ├── index.html
│ │ │ ├── javascript.html
│ │ │ ├── js
│ │ │ │ ├── affix.js
│ │ │ │ ├── alert.js
│ │ │ │ ├── button.js
│ │ │ │ ├── carousel.js
│ │ │ │ ├── collapse.js
│ │ │ │ ├── dropdown.js
│ │ │ │ ├── modal.js
│ │ │ │ ├── popover.js
│ │ │ │ ├── scrollspy.js
│ │ │ │ ├── tab.js
│ │ │ │ ├── tests
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── phantom.js
│ │ │ │ │ ├── server.js
│ │ │ │ │ ├── unit
│ │ │ │ │ │ ├── affix.js
│ │ │ │ │ │ ├── alert.js
│ │ │ │ │ │ ├── button.js
│ │ │ │ │ │ ├── carousel.js
│ │ │ │ │ │ ├── collapse.js
│ │ │ │ │ │ ├── dropdown.js
│ │ │ │ │ │ ├── modal.js
│ │ │ │ │ │ ├── phantom.js
│ │ │ │ │ │ ├── popover.js
│ │ │ │ │ │ ├── scrollspy.js
│ │ │ │ │ │ ├── tab.js
│ │ │ │ │ │ ├── tooltip.js
│ │ │ │ │ │ └── transition.js
│ │ │ │ │ └── vendor
│ │ │ │ │ ├── jquery.js
│ │ │ │ │ ├── qunit.css
│ │ │ │ │ └── qunit.js
│ │ │ │ ├── tooltip.js
│ │ │ │ └── transition.js
│ │ │ ├── less
│ │ │ │ ├── alerts.less
│ │ │ │ ├── badges.less
│ │ │ │ ├── bootstrap.less
│ │ │ │ ├── breadcrumbs.less
│ │ │ │ ├── button-groups.less
│ │ │ │ ├── buttons.less
│ │ │ │ ├── carousel.less
│ │ │ │ ├── close.less
│ │ │ │ ├── code.less
│ │ │ │ ├── component-animations.less
│ │ │ │ ├── dropdowns.less
│ │ │ │ ├── forms.less
│ │ │ │ ├── glyphicons.less
│ │ │ │ ├── grid.less
│ │ │ │ ├── input-groups.less
│ │ │ │ ├── jumbotron.less
│ │ │ │ ├── labels.less
│ │ │ │ ├── list-group.less
│ │ │ │ ├── media.less
│ │ │ │ ├── mixins.less
│ │ │ │ ├── modals.less
│ │ │ │ ├── navbar.less
│ │ │ │ ├── navs.less
│ │ │ │ ├── normalize.less
│ │ │ │ ├── pager.less
│ │ │ │ ├── pagination.less
│ │ │ │ ├── panels.less
│ │ │ │ ├── popovers.less
│ │ │ │ ├── print.less
│ │ │ │ ├── progress-bars.less
│ │ │ │ ├── responsive-utilities.less
│ │ │ │ ├── scaffolding.less
│ │ │ │ ├── tables.less
│ │ │ │ ├── theme.less
│ │ │ │ ├── thumbnails.less
│ │ │ │ ├── tooltip.less
│ │ │ │ ├── type.less
│ │ │ │ ├── utilities.less
│ │ │ │ ├── variables.less
│ │ │ │ └── wells.less
│ │ │ └── package.json
│ │ ├── bootstrap-touch-carousel
│ │ │ ├── CHANGELOG.md
│ │ │ ├── Gruntfile.js
│ │ │ ├── LICENSE-MIT
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── dist
│ │ │ │ ├── css
│ │ │ │ │ └── bootstrap-touch-carousel.css
│ │ │ │ └── js
│ │ │ │ └── bootstrap-touch-carousel.js
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ ├── js
│ │ │ │ ├── touch-carousel.js
│ │ │ │ └── transition.js
│ │ │ └── less
│ │ │ ├── carousel.less
│ │ │ └── elements.less
│ │ ├── hammer.js
│ │ │ ├── CHANGELOG.md
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── Gruntfile.coffee
│ │ │ ├── LICENSE.md
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── component.json
│ │ │ ├── hammer.js
│ │ │ ├── hammer.min.js
│ │ │ ├── hammer.min.map
│ │ │ └── package.json
│ │ ├── jquery
│ │ │ ├── MIT-LICENSE.txt
│ │ │ ├── bower.json
│ │ │ ├── dist
│ │ │ │ ├── jquery.js
│ │ │ │ ├── jquery.min.js
│ │ │ │ └── jquery.min.map
│ │ │ └── src
│ │ │ ├── ajax
│ │ │ │ ├── jsonp.js
│ │ │ │ ├── load.js
│ │ │ │ ├── parseJSON.js
│ │ │ │ ├── parseXML.js
│ │ │ │ ├── script.js
│ │ │ │ ├── var
│ │ │ │ │ ├── nonce.js
│ │ │ │ │ └── rquery.js
│ │ │ │ └── xhr.js
│ │ │ ├── ajax.js
│ │ │ ├── attributes
│ │ │ │ ├── attr.js
│ │ │ │ ├── classes.js
│ │ │ │ ├── prop.js
│ │ │ │ ├── support.js
│ │ │ │ └── val.js
│ │ │ ├── attributes.js
│ │ │ ├── callbacks.js
│ │ │ ├── core
│ │ │ │ ├── access.js
│ │ │ │ ├── init.js
│ │ │ │ ├── parseHTML.js
│ │ │ │ ├── ready.js
│ │ │ │ └── var
│ │ │ │ └── rsingleTag.js
│ │ │ ├── core.js
│ │ │ ├── css
│ │ │ │ ├── addGetHookIf.js
│ │ │ │ ├── curCSS.js
│ │ │ │ ├── defaultDisplay.js
│ │ │ │ ├── hiddenVisibleSelectors.js
│ │ │ │ ├── support.js
│ │ │ │ ├── swap.js
│ │ │ │ └── var
│ │ │ │ ├── cssExpand.js
│ │ │ │ ├── getStyles.js
│ │ │ │ ├── isHidden.js
│ │ │ │ ├── rmargin.js
│ │ │ │ └── rnumnonpx.js
│ │ │ ├── css.js
│ │ │ ├── data
│ │ │ │ ├── Data.js
│ │ │ │ ├── accepts.js
│ │ │ │ └── var
│ │ │ │ ├── data_priv.js
│ │ │ │ └── data_user.js
│ │ │ ├── data.js
│ │ │ ├── deferred.js
│ │ │ ├── deprecated.js
│ │ │ ├── dimensions.js
│ │ │ ├── effects
│ │ │ │ ├── Tween.js
│ │ │ │ └── animatedSelector.js
│ │ │ ├── effects.js
│ │ │ ├── event
│ │ │ │ ├── ajax.js
│ │ │ │ ├── alias.js
│ │ │ │ └── support.js
│ │ │ ├── event.js
│ │ │ ├── exports
│ │ │ │ ├── amd.js
│ │ │ │ └── global.js
│ │ │ ├── intro.js
│ │ │ ├── jquery.js
│ │ │ ├── manipulation
│ │ │ │ ├── _evalUrl.js
│ │ │ │ ├── support.js
│ │ │ │ └── var
│ │ │ │ └── rcheckableType.js
│ │ │ ├── manipulation.js
│ │ │ ├── offset.js
│ │ │ ├── outro.js
│ │ │ ├── queue
│ │ │ │ └── delay.js
│ │ │ ├── queue.js
│ │ │ ├── selector-native.js
│ │ │ ├── selector-sizzle.js
│ │ │ ├── selector.js
│ │ │ ├── serialize.js
│ │ │ ├── sizzle
│ │ │ │ └── dist
│ │ │ │ ├── sizzle.js
│ │ │ │ ├── sizzle.min.js
│ │ │ │ └── sizzle.min.map
│ │ │ ├── traversing
│ │ │ │ ├── findFilter.js
│ │ │ │ └── var
│ │ │ │ └── rneedsContext.js
│ │ │ ├── traversing.js
│ │ │ ├── var
│ │ │ │ ├── arr.js
│ │ │ │ ├── class2type.js
│ │ │ │ ├── concat.js
│ │ │ │ ├── hasOwn.js
│ │ │ │ ├── indexOf.js
│ │ │ │ ├── pnum.js
│ │ │ │ ├── push.js
│ │ │ │ ├── rnotwhite.js
│ │ │ │ ├── slice.js
│ │ │ │ ├── strundefined.js
│ │ │ │ ├── support.js
│ │ │ │ └── toString.js
│ │ │ └── wrap.js
│ │ ├── jquery-validation
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── Gruntfile.js
│ │ │ ├── README.md
│ │ │ ├── additional-methods.js
│ │ │ ├── changelog.txt
│ │ │ ├── demo
│ │ │ │ ├── ajaxSubmit-integration-demo.html
│ │ │ │ ├── captcha
│ │ │ │ │ ├── captcha.js
│ │ │ │ │ ├── fonts
│ │ │ │ │ │ └── Anorexia.ttf
│ │ │ │ │ ├── image_req.php
│ │ │ │ │ ├── images
│ │ │ │ │ │ ├── button.png
│ │ │ │ │ │ └── image.php
│ │ │ │ │ ├── index.php
│ │ │ │ │ ├── newsession.php
│ │ │ │ │ ├── process.php
│ │ │ │ │ ├── rand.php
│ │ │ │ │ └── style.css
│ │ │ │ ├── css
│ │ │ │ │ ├── cmxform.css
│ │ │ │ │ ├── cmxformTemplate.css
│ │ │ │ │ ├── core.css
│ │ │ │ │ ├── reset.css
│ │ │ │ │ └── screen.css
│ │ │ │ ├── custom-messages-data-demo.html
│ │ │ │ ├── custom-methods-demo.html
│ │ │ │ ├── dynamic-totals.html
│ │ │ │ ├── errorcontainer-demo.html
│ │ │ │ ├── file_input.html
│ │ │ │ ├── images
│ │ │ │ │ ├── bg.gif
│ │ │ │ │ ├── checked.gif
│ │ │ │ │ ├── cmxform-divider.gif
│ │ │ │ │ ├── cmxform-fieldset.gif
│ │ │ │ │ ├── loading.gif
│ │ │ │ │ └── unchecked.gif
│ │ │ │ ├── index.html
│ │ │ │ ├── jquerymobile.html
│ │ │ │ ├── login
│ │ │ │ │ ├── images
│ │ │ │ │ │ ├── bg.gif
│ │ │ │ │ │ ├── header1.jpg
│ │ │ │ │ │ ├── page.gif
│ │ │ │ │ │ └── required_star.gif
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── screen.css
│ │ │ │ ├── marketo
│ │ │ │ │ ├── images
│ │ │ │ │ │ ├── backRequiredGray.gif
│ │ │ │ │ │ ├── back_green-fade.gif
│ │ │ │ │ │ ├── back_nav_blue.gif
│ │ │ │ │ │ ├── blank.gif
│ │ │ │ │ │ ├── button-submit.gif
│ │ │ │ │ │ ├── favicon.ico
│ │ │ │ │ │ ├── help.png
│ │ │ │ │ │ ├── left-nav-callout-long.png
│ │ │ │ │ │ ├── login-sprite.gif
│ │ │ │ │ │ ├── logo_marketo.gif
│ │ │ │ │ │ ├── sf.png
│ │ │ │ │ │ ├── step1-24.gif
│ │ │ │ │ │ ├── step2-24.gif
│ │ │ │ │ │ ├── step3-24.gif
│ │ │ │ │ │ ├── tab-sprite.gif
│ │ │ │ │ │ ├── tab_green.gif
│ │ │ │ │ │ ├── time.png
│ │ │ │ │ │ ├── toggle.gif
│ │ │ │ │ │ └── warning.gif
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── jquery.maskedinput.js
│ │ │ │ │ ├── mktSignup.js
│ │ │ │ │ ├── step2.htm
│ │ │ │ │ └── stylesheet.css
│ │ │ │ ├── milk
│ │ │ │ │ ├── bg.gif
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── left_white.png
│ │ │ │ │ ├── milk.css
│ │ │ │ │ ├── milk.png
│ │ │ │ │ └── right_white.png
│ │ │ │ ├── multipart
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── js
│ │ │ │ │ │ ├── jquery.maskedinput-1.0.js
│ │ │ │ │ │ ├── ui.accordion.js
│ │ │ │ │ │ └── ui.core.js
│ │ │ │ │ └── style.css
│ │ │ │ ├── radio-checkbox-select-demo.html
│ │ │ │ ├── tabs
│ │ │ │ │ └── index.html
│ │ │ │ ├── themerollered.html
│ │ │ │ └── tinymce
│ │ │ │ ├── index.html
│ │ │ │ ├── themes
│ │ │ │ │ └── simple
│ │ │ │ │ ├── editor_template.js
│ │ │ │ │ ├── img
│ │ │ │ │ │ └── icons.gif
│ │ │ │ │ ├── langs
│ │ │ │ │ │ └── en.js
│ │ │ │ │ └── skins
│ │ │ │ │ └── default
│ │ │ │ │ └── ui.css
│ │ │ │ └── tiny_mce.js
│ │ │ ├── jquery.validate.js
│ │ │ ├── lib
│ │ │ │ ├── jquery-1.6.4.js
│ │ │ │ ├── jquery-1.7.2.js
│ │ │ │ ├── jquery-1.8.3.js
│ │ │ │ ├── jquery-1.9.0.js
│ │ │ │ ├── jquery.form.js
│ │ │ │ ├── jquery.js
│ │ │ │ └── jquery.mockjax.js
│ │ │ ├── localization
│ │ │ │ ├── messages_ar.js
│ │ │ │ ├── messages_bg.js
│ │ │ │ ├── messages_ca.js
│ │ │ │ ├── messages_cs.js
│ │ │ │ ├── messages_da.js
│ │ │ │ ├── messages_de.js
│ │ │ │ ├── messages_el.js
│ │ │ │ ├── messages_es.js
│ │ │ │ ├── messages_et.js
│ │ │ │ ├── messages_eu.js
│ │ │ │ ├── messages_fa.js
│ │ │ │ ├── messages_fi.js
│ │ │ │ ├── messages_fr.js
│ │ │ │ ├── messages_he.js
│ │ │ │ ├── messages_hr.js
│ │ │ │ ├── messages_hu.js
│ │ │ │ ├── messages_it.js
│ │ │ │ ├── messages_ja.js
│ │ │ │ ├── messages_ka.js
│ │ │ │ ├── messages_kk.js
│ │ │ │ ├── messages_ko.js
│ │ │ │ ├── messages_lt.js
│ │ │ │ ├── messages_lv.js
│ │ │ │ ├── messages_my.js
│ │ │ │ ├── messages_nl.js
│ │ │ │ ├── messages_no.js
│ │ │ │ ├── messages_pl.js
│ │ │ │ ├── messages_pt_BR.js
│ │ │ │ ├── messages_pt_PT.js
│ │ │ │ ├── messages_ro.js
│ │ │ │ ├── messages_ru.js
│ │ │ │ ├── messages_si.js
│ │ │ │ ├── messages_sk.js
│ │ │ │ ├── messages_sl.js
│ │ │ │ ├── messages_sr.js
│ │ │ │ ├── messages_sv.js
│ │ │ │ ├── messages_th.js
│ │ │ │ ├── messages_tr.js
│ │ │ │ ├── messages_uk.js
│ │ │ │ ├── messages_vi.js
│ │ │ │ ├── messages_zh.js
│ │ │ │ ├── messages_zh_TW.js
│ │ │ │ ├── methods_de.js
│ │ │ │ ├── methods_nl.js
│ │ │ │ └── methods_pt.js
│ │ │ ├── package.json
│ │ │ ├── test
│ │ │ │ ├── events.html
│ │ │ │ ├── firebug
│ │ │ │ │ ├── errorIcon.png
│ │ │ │ │ ├── firebug.css
│ │ │ │ │ ├── firebug.html
│ │ │ │ │ ├── firebug.js
│ │ │ │ │ ├── firebugx.js
│ │ │ │ │ ├── infoIcon.png
│ │ │ │ │ └── warningIcon.png
│ │ │ │ ├── index.html
│ │ │ │ ├── jquery.js
│ │ │ │ ├── large.html
│ │ │ │ ├── messages.js
│ │ │ │ ├── methods.js
│ │ │ │ ├── qunit
│ │ │ │ │ ├── qunit.css
│ │ │ │ │ └── qunit.js
│ │ │ │ ├── rules.js
│ │ │ │ ├── selects
│ │ │ │ │ └── index.html
│ │ │ │ ├── tabs.html
│ │ │ │ └── test.js
│ │ │ ├── todo
│ │ │ └── validation.jquery.json
│ │ └── jquery-validation-unobtrusive
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ ├── bower.json
│ │ ├── jquery.validate.unobtrusive.js
│ │ └── jquery.validate.unobtrusive.min.js
│ ├── OpenIddict.Sandbox.Console.Client
│ │ ├── InteractiveService.cs
│ │ ├── OpenIddict.Sandbox.Console.Client.csproj
│ │ ├── Program.cs
│ │ └── Worker.cs
│ ├── OpenIddict.Sandbox.WinForms.Client
│ │ ├── MainForm.Designer.cs
│ │ ├── MainForm.cs
│ │ ├── OpenIddict.Sandbox.WinForms.Client.csproj
│ │ ├── Program.cs
│ │ └── Worker.cs
│ └── OpenIddict.Sandbox.Wpf.Client
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── MainWindow.xaml
│ ├── MainWindow.xaml.cs
│ ├── OpenIddict.Sandbox.Wpf.Client.csproj
│ ├── Program.cs
│ └── Worker.cs
├── shared
│ └── OpenIddict.Extensions
│ ├── OpenIddict.Extensions.csproj
│ ├── OpenIddictHelpers.cs
│ └── OpenIddictPolyfills.cs
├── src
│ ├── OpenIddict
│ │ ├── OpenIddict.csproj
│ │ └── _._
│ ├── OpenIddict.Abstractions
│ │ ├── Caches
│ │ │ ├── IOpenIddictApplicationCache.cs
│ │ │ ├── IOpenIddictAuthorizationCache.cs
│ │ │ ├── IOpenIddictScopeCache.cs
│ │ │ └── IOpenIddictTokenCache.cs
│ │ ├── Descriptors
│ │ │ ├── OpenIddictApplicationDescriptor.cs
│ │ │ ├── OpenIddictAuthorizationDescriptor.cs
│ │ │ ├── OpenIddictScopeDescriptor.cs
│ │ │ └── OpenIddictTokenDescriptor.cs
│ │ ├── Managers
│ │ │ ├── IOpenIddictApplicationManager.cs
│ │ │ ├── IOpenIddictAuthorizationManager.cs
│ │ │ ├── IOpenIddictScopeManager.cs
│ │ │ └── IOpenIddictTokenManager.cs
│ │ ├── OpenIddict.Abstractions.csproj
│ │ ├── OpenIddictBuilder.cs
│ │ ├── OpenIddictConstants.cs
│ │ ├── OpenIddictExceptions.cs
│ │ ├── OpenIddictExtensions.cs
│ │ ├── OpenIddictResources.resx
│ │ ├── Primitives
│ │ │ ├── OpenIddictConfiguration.cs
│ │ │ ├── OpenIddictConverter.cs
│ │ │ ├── OpenIddictExtensions.cs
│ │ │ ├── OpenIddictMessage.cs
│ │ │ ├── OpenIddictParameter.cs
│ │ │ ├── OpenIddictRequest.cs
│ │ │ └── OpenIddictResponse.cs
│ │ ├── Resolvers
│ │ │ ├── IOpenIddictApplicationStoreResolver.cs
│ │ │ ├── IOpenIddictAuthorizationStoreResolver.cs
│ │ │ ├── IOpenIddictScopeStoreResolver.cs
│ │ │ └── IOpenIddictTokenStoreResolver.cs
│ │ └── Stores
│ │ ├── IOpenIddictApplicationStore.cs
│ │ ├── IOpenIddictAuthorizationStore.cs
│ │ ├── IOpenIddictScopeStore.cs
│ │ └── IOpenIddictTokenStore.cs
│ ├── OpenIddict.AspNetCore
│ │ ├── OpenIddict.AspNetCore.csproj
│ │ └── _._
│ ├── OpenIddict.Client
│ │ ├── IOpenIddictClientDispatcher.cs
│ │ ├── IOpenIddictClientFactory.cs
│ │ ├── IOpenIddictClientHandler.cs
│ │ ├── IOpenIddictClientHandlerFilter.cs
│ │ ├── OpenIddict.Client.csproj
│ │ ├── OpenIddictClientBuilder.cs
│ │ ├── OpenIddictClientConfiguration.cs
│ │ ├── OpenIddictClientDispatcher.cs
│ │ ├── OpenIddictClientEndpointType.cs
│ │ ├── OpenIddictClientEvents.Authentication.cs
│ │ ├── OpenIddictClientEvents.Device.cs
│ │ ├── OpenIddictClientEvents.Discovery.cs
│ │ ├── OpenIddictClientEvents.Exchange.cs
│ │ ├── OpenIddictClientEvents.Protection.cs
│ │ ├── OpenIddictClientEvents.Session.cs
│ │ ├── OpenIddictClientEvents.Userinfo.cs
│ │ ├── OpenIddictClientEvents.cs
│ │ ├── OpenIddictClientExtensions.cs
│ │ ├── OpenIddictClientFactory.cs
│ │ ├── OpenIddictClientHandler.cs
│ │ ├── OpenIddictClientHandlerDescriptor.cs
│ │ ├── OpenIddictClientHandlerFilters.cs
│ │ ├── OpenIddictClientHandlerType.cs
│ │ ├── OpenIddictClientHandlers.Authentication.cs
│ │ ├── OpenIddictClientHandlers.Device.cs
│ │ ├── OpenIddictClientHandlers.Discovery.cs
│ │ ├── OpenIddictClientHandlers.Exchange.cs
│ │ ├── OpenIddictClientHandlers.Protection.cs
│ │ ├── OpenIddictClientHandlers.Session.cs
│ │ ├── OpenIddictClientHandlers.Userinfo.cs
│ │ ├── OpenIddictClientHandlers.cs
│ │ ├── OpenIddictClientHelpers.cs
│ │ ├── OpenIddictClientModels.cs
│ │ ├── OpenIddictClientOptions.cs
│ │ ├── OpenIddictClientRegistration.cs
│ │ ├── OpenIddictClientRetriever.cs
│ │ ├── OpenIddictClientService.cs
│ │ └── OpenIddictClientTransaction.cs
│ ├── OpenIddict.Client.AspNetCore
│ │ ├── OpenIddict.Client.AspNetCore.csproj
│ │ ├── OpenIddictClientAspNetCoreBuilder.cs
│ │ ├── OpenIddictClientAspNetCoreConfiguration.cs
│ │ ├── OpenIddictClientAspNetCoreConstants.cs
│ │ ├── OpenIddictClientAspNetCoreDefaults.cs
│ │ ├── OpenIddictClientAspNetCoreExtensions.cs
│ │ ├── OpenIddictClientAspNetCoreFeature.cs
│ │ ├── OpenIddictClientAspNetCoreForwarder.cs
│ │ ├── OpenIddictClientAspNetCoreHandler.cs
│ │ ├── OpenIddictClientAspNetCoreHandlerFilters.cs
│ │ ├── OpenIddictClientAspNetCoreHandlers.Authentication.cs
│ │ ├── OpenIddictClientAspNetCoreHandlers.Session.cs
│ │ ├── OpenIddictClientAspNetCoreHandlers.cs
│ │ ├── OpenIddictClientAspNetCoreHelpers.cs
│ │ └── OpenIddictClientAspNetCoreOptions.cs
│ ├── OpenIddict.Client.DataProtection
│ │ ├── IOpenIddictClientDataProtectionFormatter.cs
│ │ ├── OpenIddict.Client.DataProtection.csproj
│ │ ├── OpenIddictClientDataProtectionBuilder.cs
│ │ ├── OpenIddictClientDataProtectionConfiguration.cs
│ │ ├── OpenIddictClientDataProtectionConstants.cs
│ │ ├── OpenIddictClientDataProtectionExtensions.cs
│ │ ├── OpenIddictClientDataProtectionFormatter.cs
│ │ ├── OpenIddictClientDataProtectionHandlerFilters.cs
│ │ ├── OpenIddictClientDataProtectionHandlers.Protection.cs
│ │ ├── OpenIddictClientDataProtectionHandlers.cs
│ │ └── OpenIddictClientDataProtectionOptions.cs
│ ├── OpenIddict.Client.Owin
│ │ ├── OpenIddict.Client.Owin.csproj
│ │ ├── OpenIddictClientOwinBuilder.cs
│ │ ├── OpenIddictClientOwinConfiguration.cs
│ │ ├── OpenIddictClientOwinConstants.cs
│ │ ├── OpenIddictClientOwinDefaults.cs
│ │ ├── OpenIddictClientOwinExtensions.cs
│ │ ├── OpenIddictClientOwinHandler.cs
│ │ ├── OpenIddictClientOwinHandlerFilters.cs
│ │ ├── OpenIddictClientOwinHandlers.Authentication.cs
│ │ ├── OpenIddictClientOwinHandlers.Session.cs
│ │ ├── OpenIddictClientOwinHandlers.cs
│ │ ├── OpenIddictClientOwinHelpers.cs
│ │ ├── OpenIddictClientOwinMiddleware.cs
│ │ ├── OpenIddictClientOwinMiddlewareFactory.cs
│ │ └── OpenIddictClientOwinOptions.cs
│ ├── OpenIddict.Client.SystemIntegration
│ │ ├── OpenIddict.Client.SystemIntegration.csproj
│ │ ├── OpenIddictClientSystemIntegrationActivation.cs
│ │ ├── OpenIddictClientSystemIntegrationActivationHandler.cs
│ │ ├── OpenIddictClientSystemIntegrationAuthenticationMode.cs
│ │ ├── OpenIddictClientSystemIntegrationBuilder.cs
│ │ ├── OpenIddictClientSystemIntegrationConfiguration.cs
│ │ ├── OpenIddictClientSystemIntegrationConstants.cs
│ │ ├── OpenIddictClientSystemIntegrationExtensions.cs
│ │ ├── OpenIddictClientSystemIntegrationHandlerFilters.cs
│ │ ├── OpenIddictClientSystemIntegrationHandlers.Authentication.cs
│ │ ├── OpenIddictClientSystemIntegrationHandlers.cs
│ │ ├── OpenIddictClientSystemIntegrationHelpers.cs
│ │ ├── OpenIddictClientSystemIntegrationHttpListener.cs
│ │ ├── OpenIddictClientSystemIntegrationMarshal.cs
│ │ ├── OpenIddictClientSystemIntegrationOptions.cs
│ │ ├── OpenIddictClientSystemIntegrationPipeListener.cs
│ │ └── OpenIddictClientSystemIntegrationService.cs
│ ├── OpenIddict.Client.SystemNetHttp
│ │ ├── OpenIddict.Client.SystemNetHttp.csproj
│ │ ├── OpenIddictClientSystemNetHttpBuilder.cs
│ │ ├── OpenIddictClientSystemNetHttpConfiguration.cs
│ │ ├── OpenIddictClientSystemNetHttpConstants.cs
│ │ ├── OpenIddictClientSystemNetHttpExtensions.cs
│ │ ├── OpenIddictClientSystemNetHttpHandlerFilters.cs
│ │ ├── OpenIddictClientSystemNetHttpHandlers.Device.cs
│ │ ├── OpenIddictClientSystemNetHttpHandlers.Discovery.cs
│ │ ├── OpenIddictClientSystemNetHttpHandlers.Exchange.cs
│ │ ├── OpenIddictClientSystemNetHttpHandlers.Userinfo.cs
│ │ ├── OpenIddictClientSystemNetHttpHandlers.cs
│ │ ├── OpenIddictClientSystemNetHttpHelpers.cs
│ │ └── OpenIddictClientSystemNetHttpOptions.cs
│ ├── OpenIddict.Client.WebIntegration
│ │ ├── OpenIddict.Client.WebIntegration.csproj
│ │ ├── OpenIddictClientWebIntegrationBuilder.cs
│ │ ├── OpenIddictClientWebIntegrationConfiguration.cs
│ │ ├── OpenIddictClientWebIntegrationConstants.cs
│ │ ├── OpenIddictClientWebIntegrationExtensions.cs
│ │ ├── OpenIddictClientWebIntegrationHandlers.Authentication.cs
│ │ ├── OpenIddictClientWebIntegrationHandlers.Device.cs
│ │ ├── OpenIddictClientWebIntegrationHandlers.Discovery.cs
│ │ ├── OpenIddictClientWebIntegrationHandlers.Exchange.cs
│ │ ├── OpenIddictClientWebIntegrationHandlers.Protection.cs
│ │ ├── OpenIddictClientWebIntegrationHandlers.Userinfo.cs
│ │ ├── OpenIddictClientWebIntegrationHandlers.cs
│ │ ├── OpenIddictClientWebIntegrationHelpers.cs
│ │ ├── OpenIddictClientWebIntegrationOptions.cs
│ │ ├── OpenIddictClientWebIntegrationProviders.xml
│ │ ├── OpenIddictClientWebIntegrationProviders.xsd
│ │ └── OpenIddictClientWebIntegrationSettings.cs
│ ├── OpenIddict.Core
│ │ ├── Caches
│ │ │ ├── OpenIddictApplicationCache.cs
│ │ │ ├── OpenIddictAuthorizationCache.cs
│ │ │ ├── OpenIddictScopeCache.cs
│ │ │ └── OpenIddictTokenCache.cs
│ │ ├── Managers
│ │ │ ├── OpenIddictApplicationManager.cs
│ │ │ ├── OpenIddictAuthorizationManager.cs
│ │ │ ├── OpenIddictScopeManager.cs
│ │ │ └── OpenIddictTokenManager.cs
│ │ ├── OpenIddict.Core.csproj
│ │ ├── OpenIddictCoreBuilder.cs
│ │ ├── OpenIddictCoreExtensions.cs
│ │ ├── OpenIddictCoreOptions.cs
│ │ └── Resolvers
│ │ ├── OpenIddictApplicationStoreResolver.cs
│ │ ├── OpenIddictAuthorizationStoreResolver.cs
│ │ ├── OpenIddictScopeStoreResolver.cs
│ │ └── OpenIddictTokenStoreResolver.cs
│ ├── OpenIddict.EntityFramework
│ │ ├── Configurations
│ │ │ ├── OpenIddictEntityFrameworkApplicationConfiguration.cs
│ │ │ ├── OpenIddictEntityFrameworkAuthorizationConfiguration.cs
│ │ │ ├── OpenIddictEntityFrameworkScopeConfiguration.cs
│ │ │ └── OpenIddictEntityFrameworkTokenConfiguration.cs
│ │ ├── OpenIddict.EntityFramework.csproj
│ │ ├── OpenIddictEntityFrameworkBuilder.cs
│ │ ├── OpenIddictEntityFrameworkExtensions.cs
│ │ ├── OpenIddictEntityFrameworkHelpers.cs
│ │ ├── OpenIddictEntityFrameworkOptions.cs
│ │ ├── Resolvers
│ │ │ ├── OpenIddictEntityFrameworkApplicationStoreResolver.cs
│ │ │ ├── OpenIddictEntityFrameworkAuthorizationStoreResolver.cs
│ │ │ ├── OpenIddictEntityFrameworkScopeStoreResolver.cs
│ │ │ └── OpenIddictEntityFrameworkTokenStoreResolver.cs
│ │ └── Stores
│ │ ├── OpenIddictEntityFrameworkApplicationStore.cs
│ │ ├── OpenIddictEntityFrameworkAuthorizationStore.cs
│ │ ├── OpenIddictEntityFrameworkScopeStore.cs
│ │ └── OpenIddictEntityFrameworkTokenStore.cs
│ ├── OpenIddict.EntityFramework.Models
│ │ ├── OpenIddict.EntityFramework.Models.csproj
│ │ ├── OpenIddictEntityFrameworkApplication.cs
│ │ ├── OpenIddictEntityFrameworkAuthorization.cs
│ │ ├── OpenIddictEntityFrameworkScope.cs
│ │ └── OpenIddictEntityFrameworkToken.cs
│ ├── OpenIddict.EntityFrameworkCore
│ │ ├── Configurations
│ │ │ ├── OpenIddictEntityFrameworkCoreApplicationConfiguration.cs
│ │ │ ├── OpenIddictEntityFrameworkCoreAuthorizationConfiguration.cs
│ │ │ ├── OpenIddictEntityFrameworkCoreScopeConfiguration.cs
│ │ │ └── OpenIddictEntityFrameworkCoreTokenConfiguration.cs
│ │ ├── OpenIddict.EntityFrameworkCore.csproj
│ │ ├── OpenIddictEntityFrameworkCoreBuilder.cs
│ │ ├── OpenIddictEntityFrameworkCoreCustomizer.cs
│ │ ├── OpenIddictEntityFrameworkCoreExtensions.cs
│ │ ├── OpenIddictEntityFrameworkCoreHelpers.cs
│ │ ├── OpenIddictEntityFrameworkCoreOptions.cs
│ │ ├── Resolvers
│ │ │ ├── OpenIddictEntityFrameworkCoreApplicationStoreResolver.cs
│ │ │ ├── OpenIddictEntityFrameworkCoreAuthorizationStoreResolver.cs
│ │ │ ├── OpenIddictEntityFrameworkCoreScopeStoreResolver.cs
│ │ │ └── OpenIddictEntityFrameworkCoreTokenStoreResolver.cs
│ │ └── Stores
│ │ ├── OpenIddictEntityFrameworkCoreApplicationStore.cs
│ │ ├── OpenIddictEntityFrameworkCoreAuthorizationStore.cs
│ │ ├── OpenIddictEntityFrameworkCoreScopeStore.cs
│ │ └── OpenIddictEntityFrameworkCoreTokenStore.cs
│ ├── OpenIddict.EntityFrameworkCore.Models
│ │ ├── OpenIddict.EntityFrameworkCore.Models.csproj
│ │ ├── OpenIddictEntityFrameworkCoreApplication.cs
│ │ ├── OpenIddictEntityFrameworkCoreAuthorization.cs
│ │ ├── OpenIddictEntityFrameworkCoreScope.cs
│ │ └── OpenIddictEntityFrameworkCoreToken.cs
│ ├── OpenIddict.MongoDb
│ │ ├── IOpenIddictMongoDbContext.cs
│ │ ├── OpenIddict.MongoDb.csproj
│ │ ├── OpenIddictMongoDbBuilder.cs
│ │ ├── OpenIddictMongoDbContext.cs
│ │ ├── OpenIddictMongoDbExtensions.cs
│ │ ├── OpenIddictMongoDbHelpers.cs
│ │ ├── OpenIddictMongoDbOptions.cs
│ │ ├── Resolvers
│ │ │ ├── OpenIddictMongoDbApplicationStoreResolver.cs
│ │ │ ├── OpenIddictMongoDbAuthorizationStoreResolver.cs
│ │ │ ├── OpenIddictMongoDbScopeStoreResolver.cs
│ │ │ └── OpenIddictMongoDbTokenStoreResolver.cs
│ │ └── Stores
│ │ ├── OpenIddictMongoDbApplicationStore.cs
│ │ ├── OpenIddictMongoDbAuthorizationStore.cs
│ │ ├── OpenIddictMongoDbScopeStore.cs
│ │ └── OpenIddictMongoDbTokenStore.cs
│ ├── OpenIddict.MongoDb.Models
│ │ ├── OpenIddict.MongoDb.Models.csproj
│ │ ├── OpenIddictMongoDbApplication.cs
│ │ ├── OpenIddictMongoDbAuthorization.cs
│ │ ├── OpenIddictMongoDbScope.cs
│ │ └── OpenIddictMongoDbToken.cs
│ ├── OpenIddict.Owin
│ │ ├── OpenIddict.Owin.csproj
│ │ └── _._
│ ├── OpenIddict.Quartz
│ │ ├── OpenIddict.Quartz.csproj
│ │ ├── OpenIddictQuartzBuilder.cs
│ │ ├── OpenIddictQuartzConfiguration.cs
│ │ ├── OpenIddictQuartzExtensions.cs
│ │ ├── OpenIddictQuartzJob.cs
│ │ └── OpenIddictQuartzOptions.cs
│ ├── OpenIddict.Server
│ │ ├── IOpenIddictServerDispatcher.cs
│ │ ├── IOpenIddictServerFactory.cs
│ │ ├── IOpenIddictServerHandler.cs
│ │ ├── IOpenIddictServerHandlerFilter.cs
│ │ ├── OpenIddict.Server.csproj
│ │ ├── OpenIddictServerBuilder.cs
│ │ ├── OpenIddictServerConfiguration.cs
│ │ ├── OpenIddictServerDispatcher.cs
│ │ ├── OpenIddictServerEndpointType.cs
│ │ ├── OpenIddictServerEvents.Authentication.cs
│ │ ├── OpenIddictServerEvents.Device.cs
│ │ ├── OpenIddictServerEvents.Discovery.cs
│ │ ├── OpenIddictServerEvents.Exchange.cs
│ │ ├── OpenIddictServerEvents.Introspection.cs
│ │ ├── OpenIddictServerEvents.Protection.cs
│ │ ├── OpenIddictServerEvents.Revocation.cs
│ │ ├── OpenIddictServerEvents.Session.cs
│ │ ├── OpenIddictServerEvents.Userinfo.cs
│ │ ├── OpenIddictServerEvents.cs
│ │ ├── OpenIddictServerExtensions.cs
│ │ ├── OpenIddictServerFactory.cs
│ │ ├── OpenIddictServerHandler.cs
│ │ ├── OpenIddictServerHandlerDescriptor.cs
│ │ ├── OpenIddictServerHandlerFilters.cs
│ │ ├── OpenIddictServerHandlerType.cs
│ │ ├── OpenIddictServerHandlers.Authentication.cs
│ │ ├── OpenIddictServerHandlers.Device.cs
│ │ ├── OpenIddictServerHandlers.Discovery.cs
│ │ ├── OpenIddictServerHandlers.Exchange.cs
│ │ ├── OpenIddictServerHandlers.Introspection.cs
│ │ ├── OpenIddictServerHandlers.Protection.cs
│ │ ├── OpenIddictServerHandlers.Revocation.cs
│ │ ├── OpenIddictServerHandlers.Session.cs
│ │ ├── OpenIddictServerHandlers.Userinfo.cs
│ │ ├── OpenIddictServerHandlers.cs
│ │ ├── OpenIddictServerHelpers.cs
│ │ ├── OpenIddictServerOptions.cs
│ │ └── OpenIddictServerTransaction.cs
│ ├── OpenIddict.Server.AspNetCore
│ │ ├── OpenIddict.Server.AspNetCore.csproj
│ │ ├── OpenIddictServerAspNetCoreBuilder.cs
│ │ ├── OpenIddictServerAspNetCoreConfiguration.cs
│ │ ├── OpenIddictServerAspNetCoreConstants.cs
│ │ ├── OpenIddictServerAspNetCoreDefaults.cs
│ │ ├── OpenIddictServerAspNetCoreExtensions.cs
│ │ ├── OpenIddictServerAspNetCoreFeature.cs
│ │ ├── OpenIddictServerAspNetCoreHandler.cs
│ │ ├── OpenIddictServerAspNetCoreHandlerFilters.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.Authentication.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.Device.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.Discovery.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.Exchange.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.Introspection.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.Revocation.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.Session.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.Userinfo.cs
│ │ ├── OpenIddictServerAspNetCoreHandlers.cs
│ │ ├── OpenIddictServerAspNetCoreHelpers.cs
│ │ └── OpenIddictServerAspNetCoreOptions.cs
│ ├── OpenIddict.Server.DataProtection
│ │ ├── IOpenIddictServerDataProtectionFormatter.cs
│ │ ├── OpenIddict.Server.DataProtection.csproj
│ │ ├── OpenIddictServerDataProtectionBuilder.cs
│ │ ├── OpenIddictServerDataProtectionConfiguration.cs
│ │ ├── OpenIddictServerDataProtectionConstants.cs
│ │ ├── OpenIddictServerDataProtectionExtensions.cs
│ │ ├── OpenIddictServerDataProtectionFormatter.cs
│ │ ├── OpenIddictServerDataProtectionHandlerFilters.cs
│ │ ├── OpenIddictServerDataProtectionHandlers.Protection.cs
│ │ ├── OpenIddictServerDataProtectionHandlers.cs
│ │ └── OpenIddictServerDataProtectionOptions.cs
│ ├── OpenIddict.Server.Owin
│ │ ├── OpenIddict.Server.Owin.csproj
│ │ ├── OpenIddictServerOwinBuilder.cs
│ │ ├── OpenIddictServerOwinConfiguration.cs
│ │ ├── OpenIddictServerOwinConstants.cs
│ │ ├── OpenIddictServerOwinDefaults.cs
│ │ ├── OpenIddictServerOwinExtensions.cs
│ │ ├── OpenIddictServerOwinHandler.cs
│ │ ├── OpenIddictServerOwinHandlerFilters.cs
│ │ ├── OpenIddictServerOwinHandlers.Authentication.cs
│ │ ├── OpenIddictServerOwinHandlers.Device.cs
│ │ ├── OpenIddictServerOwinHandlers.Discovery.cs
│ │ ├── OpenIddictServerOwinHandlers.Exchange.cs
│ │ ├── OpenIddictServerOwinHandlers.Introspection.cs
│ │ ├── OpenIddictServerOwinHandlers.Revocation.cs
│ │ ├── OpenIddictServerOwinHandlers.Session.cs
│ │ ├── OpenIddictServerOwinHandlers.Userinfo.cs
│ │ ├── OpenIddictServerOwinHandlers.cs
│ │ ├── OpenIddictServerOwinHelpers.cs
│ │ ├── OpenIddictServerOwinMiddleware.cs
│ │ ├── OpenIddictServerOwinMiddlewareFactory.cs
│ │ └── OpenIddictServerOwinOptions.cs
│ ├── OpenIddict.Validation
│ │ ├── IOpenIddictValidationDispatcher.cs
│ │ ├── IOpenIddictValidationFactory.cs
│ │ ├── IOpenIddictValidationHandler.cs
│ │ ├── IOpenIddictValidationHandlerFilter.cs
│ │ ├── OpenIddict.Validation.csproj
│ │ ├── OpenIddictValidationBuilder.cs
│ │ ├── OpenIddictValidationConfiguration.cs
│ │ ├── OpenIddictValidationDispatcher.cs
│ │ ├── OpenIddictValidationEndpointType.cs
│ │ ├── OpenIddictValidationEvents.Discovery.cs
│ │ ├── OpenIddictValidationEvents.Introspection.cs
│ │ ├── OpenIddictValidationEvents.Protection.cs
│ │ ├── OpenIddictValidationEvents.cs
│ │ ├── OpenIddictValidationExtensions.cs
│ │ ├── OpenIddictValidationFactory.cs
│ │ ├── OpenIddictValidationHandler.cs
│ │ ├── OpenIddictValidationHandlerDescriptor.cs
│ │ ├── OpenIddictValidationHandlerFilters.cs
│ │ ├── OpenIddictValidationHandlerType.cs
│ │ ├── OpenIddictValidationHandlers.Discovery.cs
│ │ ├── OpenIddictValidationHandlers.Introspection.cs
│ │ ├── OpenIddictValidationHandlers.Protection.cs
│ │ ├── OpenIddictValidationHandlers.cs
│ │ ├── OpenIddictValidationHelpers.cs
│ │ ├── OpenIddictValidationOptions.cs
│ │ ├── OpenIddictValidationRetriever.cs
│ │ ├── OpenIddictValidationService.cs
│ │ ├── OpenIddictValidationTransaction.cs
│ │ └── OpenIddictValidationType.cs
│ ├── OpenIddict.Validation.AspNetCore
│ │ ├── OpenIddict.Validation.AspNetCore.csproj
│ │ ├── OpenIddictValidationAspNetCoreBuilder.cs
│ │ ├── OpenIddictValidationAspNetCoreConfiguration.cs
│ │ ├── OpenIddictValidationAspNetCoreConstants.cs
│ │ ├── OpenIddictValidationAspNetCoreDefaults.cs
│ │ ├── OpenIddictValidationAspNetCoreExtensions.cs
│ │ ├── OpenIddictValidationAspNetCoreFeature.cs
│ │ ├── OpenIddictValidationAspNetCoreHandler.cs
│ │ ├── OpenIddictValidationAspNetCoreHandlerFilters.cs
│ │ ├── OpenIddictValidationAspNetCoreHandlers.cs
│ │ ├── OpenIddictValidationAspNetCoreHelpers.cs
│ │ └── OpenIddictValidationAspNetCoreOptions.cs
│ ├── OpenIddict.Validation.DataProtection
│ │ ├── IOpenIddictValidationDataProtectionFormatter.cs
│ │ ├── OpenIddict.Validation.DataProtection.csproj
│ │ ├── OpenIddictValidationDataProtectionBuilder.cs
│ │ ├── OpenIddictValidationDataProtectionConfiguration.cs
│ │ ├── OpenIddictValidationDataProtectionConstants.cs
│ │ ├── OpenIddictValidationDataProtectionExtensions.cs
│ │ ├── OpenIddictValidationDataProtectionFormatter.cs
│ │ ├── OpenIddictValidationDataProtectionHandlers.Protection.cs
│ │ ├── OpenIddictValidationDataProtectionHandlers.cs
│ │ └── OpenIddictValidationDataProtectionOptions.cs
│ ├── OpenIddict.Validation.Owin
│ │ ├── OpenIddict.Validation.Owin.csproj
│ │ ├── OpenIddictValidationOwinBuilder.cs
│ │ ├── OpenIddictValidationOwinConfiguration.cs
│ │ ├── OpenIddictValidationOwinConstants.cs
│ │ ├── OpenIddictValidationOwinDefaults.cs
│ │ ├── OpenIddictValidationOwinExtensions.cs
│ │ ├── OpenIddictValidationOwinHandler.cs
│ │ ├── OpenIddictValidationOwinHandlerFilters.cs
│ │ ├── OpenIddictValidationOwinHandlers.cs
│ │ ├── OpenIddictValidationOwinHelpers.cs
│ │ ├── OpenIddictValidationOwinMiddleware.cs
│ │ ├── OpenIddictValidationOwinMiddlewareFactory.cs
│ │ └── OpenIddictValidationOwinOptions.cs
│ ├── OpenIddict.Validation.ServerIntegration
│ │ ├── OpenIddict.Validation.ServerIntegration.csproj
│ │ ├── OpenIddictValidationServerIntegrationBuilder.cs
│ │ ├── OpenIddictValidationServerIntegrationConfiguration.cs
│ │ ├── OpenIddictValidationServerIntegrationExtensions.cs
│ │ └── OpenIddictValidationServerIntegrationOptions.cs
│ └── OpenIddict.Validation.SystemNetHttp
│ ├── OpenIddict.Validation.SystemNetHttp.csproj
│ ├── OpenIddictValidationSystemNetHttpBuilder.cs
│ ├── OpenIddictValidationSystemNetHttpConfiguration.cs
│ ├── OpenIddictValidationSystemNetHttpConstants.cs
│ ├── OpenIddictValidationSystemNetHttpExtensions.cs
│ ├── OpenIddictValidationSystemNetHttpHandlerFilters.cs
│ ├── OpenIddictValidationSystemNetHttpHandlers.Discovery.cs
│ ├── OpenIddictValidationSystemNetHttpHandlers.Introspection.cs
│ ├── OpenIddictValidationSystemNetHttpHandlers.cs
│ ├── OpenIddictValidationSystemNetHttpHelpers.cs
│ └── OpenIddictValidationSystemNetHttpOptions.cs
└── test
├── OpenIddict.Abstractions.Tests
│ ├── OpenIddict.Abstractions.Tests.csproj
│ ├── OpenIddictBuilderTests.cs
│ ├── OpenIddictExtensionsTests.cs
│ └── Primitives
│ ├── OpenIddictConverterTests.cs
│ ├── OpenIddictExtensionsTests.cs
│ ├── OpenIddictMessageTests.cs
│ ├── OpenIddictParameterTests.cs
│ ├── OpenIddictRequestTests.cs
│ └── OpenIddictResponseTests.cs
├── OpenIddict.Client.AspNetCore.IntegrationTests
│ └── OpenIddict.Client.AspNetCore.IntegrationTests.csproj
├── OpenIddict.Client.IntegrationTests
│ └── OpenIddict.Client.IntegrationTests.csproj
├── OpenIddict.Client.Owin.IntegrationTests
│ └── OpenIddict.Client.Owin.IntegrationTests.csproj
├── OpenIddict.Core.Tests
│ ├── OpenIddict.Core.Tests.csproj
│ ├── OpenIddictCoreBuilderTests.cs
│ ├── OpenIddictCoreExtensionsTests.cs
│ └── Resolvers
│ ├── OpenIddictApplicationStoreResolverTests.cs
│ ├── OpenIddictAuthorizationStoreResolverTests.cs
│ ├── OpenIddictScopeStoreResolverTests.cs
│ └── OpenIddictTokenStoreResolverTests.cs
├── OpenIddict.EntityFramework.Tests
│ ├── OpenIddict.EntityFramework.Tests.csproj
│ ├── OpenIddictEntityFrameworkBuilderTests.cs
│ ├── OpenIddictEntityFrameworkExtensionsTests.cs
│ └── Resolvers
│ ├── OpenIddictEntityFrameworkApplicationStoreResolverTests.cs
│ ├── OpenIddictEntityFrameworkAuthorizationStoreResolverTests.cs
│ ├── OpenIddictEntityFrameworkScopeStoreResolverTests.cs
│ └── OpenIddictEntityFrameworkTokenStoreResolverTests.cs
├── OpenIddict.EntityFrameworkCore.Tests
│ ├── OpenIddict.EntityFrameworkCore.Tests.csproj
│ ├── OpenIddictEntityFrameworkCoreBuilderTests.cs
│ ├── OpenIddictEntityFrameworkCoreExtensionsTests.cs
│ ├── OpenIddictEntityFrameworkCoreHelpersTests.cs
│ └── Resolvers
│ ├── OpenIddictEntityFrameworkCoreApplicationStoreResolverTests.cs
│ ├── OpenIddictEntityFrameworkCoreAuthorizationStoreResolverTests.cs
│ ├── OpenIddictEntityFrameworkCoreScopeStoreResolverTests.cs
│ └── OpenIddictEntityFrameworkCoreTokenStoreResolverTests.cs
├── OpenIddict.MongoDb.Tests
│ ├── OpenIddict.MongoDb.Tests.csproj
│ ├── OpenIddictMongoDbBuilderTests.cs
│ ├── OpenIddictMongoDbContextTests.cs
│ ├── OpenIddictMongoDbExtensionsTests.cs
│ └── Resolvers
│ ├── OpenIddictMongoDbApplicationStoreResolverTests.cs
│ ├── OpenIddictMongoDbAuthorizationStoreResolverTests.cs
│ ├── OpenIddictMongoDbScopeStoreResolverTests.cs
│ └── OpenIddictMongoDbTokenStoreResolverTests.cs
├── OpenIddict.Quartz.Tests
│ ├── OpenIddict.Quartz.Tests.csproj
│ ├── OpenIddictQuartzBuilderTests.cs
│ ├── OpenIddictQuartzConfigurationTests.cs
│ ├── OpenIddictQuartzExtensionsTests.cs
│ └── OpenIddictQuartzJobTests.cs
├── OpenIddict.Server.AspNetCore.IntegrationTests
│ ├── OpenIddict.Server.AspNetCore.IntegrationTests.csproj
│ ├── OpenIddictServerAspNetCoreIntegrationTestServer.cs
│ ├── OpenIddictServerAspNetCoreIntegrationTests.Authentication.cs
│ ├── OpenIddictServerAspNetCoreIntegrationTests.Exchange.cs
│ ├── OpenIddictServerAspNetCoreIntegrationTests.Introspection.cs
│ ├── OpenIddictServerAspNetCoreIntegrationTests.Revocation.cs
│ ├── OpenIddictServerAspNetCoreIntegrationTests.Session.cs
│ └── OpenIddictServerAspNetCoreIntegrationTests.cs
├── OpenIddict.Server.DataProtection.Tests
│ ├── OpenIddict.Server.DataProtection.Tests.csproj
│ └── OpenIddictServerBuilderTests.cs
├── OpenIddict.Server.IntegrationTests
│ ├── Certificate.cer
│ ├── Certificate.pfx
│ ├── OpenIddict.Server.IntegrationTests.csproj
│ ├── OpenIddictServerIntegrationTestClient.cs
│ ├── OpenIddictServerIntegrationTestServer.cs
│ ├── OpenIddictServerIntegrationTests.Authentication.cs
│ ├── OpenIddictServerIntegrationTests.Device.cs
│ ├── OpenIddictServerIntegrationTests.Discovery.cs
│ ├── OpenIddictServerIntegrationTests.Exchange.cs
│ ├── OpenIddictServerIntegrationTests.Introspection.cs
│ ├── OpenIddictServerIntegrationTests.Protection.cs
│ ├── OpenIddictServerIntegrationTests.Revocation.cs
│ ├── OpenIddictServerIntegrationTests.Session.cs
│ ├── OpenIddictServerIntegrationTests.Userinfo.cs
│ └── OpenIddictServerIntegrationTests.cs
├── OpenIddict.Server.Owin.IntegrationTests
│ ├── OpenIddict.Server.Owin.IntegrationTests.csproj
│ ├── OpenIddictServerOwinIntegrationTestServer.cs
│ ├── OpenIddictServerOwinIntegrationTests.Authentication.cs
│ ├── OpenIddictServerOwinIntegrationTests.Exchange.cs
│ ├── OpenIddictServerOwinIntegrationTests.Introspection.cs
│ ├── OpenIddictServerOwinIntegrationTests.Revocation.cs
│ ├── OpenIddictServerOwinIntegrationTests.Session.cs
│ └── OpenIddictServerOwinIntegrationTests.cs
├── OpenIddict.Server.Tests
│ ├── Certificate.pfx
│ ├── OpenIddict.Server.Tests.csproj
│ ├── OpenIddictServerBuilderTests.cs
│ └── OpenIddictServerExtensionsTests.cs
├── OpenIddict.Validation.AspNetCore.IntegrationTests
│ ├── OpenIddict.Validation.AspNetCore.IntegrationTests.csproj
│ ├── OpenIddictValidationAspNetCoreIntegrationTestServer.cs
│ └── OpenIddictValidationAspNetCoreIntegrationTests.cs
├── OpenIddict.Validation.IntegrationTests
│ ├── Certificate.cer
│ ├── OpenIddict.Validation.IntegrationTests.csproj
│ ├── OpenIddictValidationIntegrationTestClient.cs
│ ├── OpenIddictValidationIntegrationTestServer.cs
│ └── OpenIddictValidationIntegrationTests.cs
└── OpenIddict.Validation.Owin.IntegrationTests
├── OpenIddict.Validation.Owin.IntegrationTests.csproj
├── OpenIddictValidationOwinIntegrationTestServer.cs
└── OpenIddictValidationOwinIntegrationTests.cs
270 directories, 1409 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论