在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → OpenIddict:灵活多用的.NET OAuth 2.0/OpenID Connect框架

OpenIddict:灵活多用的.NET OAuth 2.0/OpenID Connect框架

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:5.66M
  • 下载次数:0
  • 浏览次数:116
  • 发布时间:2024-02-07
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

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

标签:

实例下载地址

OpenIddict:灵活多用的.NET OAuth 2.0/OpenID Connect框架

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警