OpenIddict
让你沉迷的 OpenID Connect 协议栈。
什么是 OpenIddict?
OpenIddict 的目的是提供一个通用的解决方案,在任何 ASP.NET Core 2.1、3.1 和 5.0 应用程序中实现 OpenID Connect 服务器和令牌验证,从 OpenIddict 3.0 开始,任何使用 Microsoft.Owin 的 ASP.NET 4.x 应用程序也是如此。
OpenIddict 完全支持code/implicit/hybrid flows(代码/隐式/混合流),client credentials/resource owner password grants(客户端凭证/资源所有者密码授予)和设备授权流。您也可以创建自己的自定义授权类型。
OpenIddict 原生支持 Entity Framework Core、Entity Framework 6 和 MongoDB 开箱即用,但你也可以提供自己的存储。
我想要一些简单且易于配置的东西
强烈建议正在寻找简单的交钥匙解决方案的开发人员使用 OrchardCore 及其 OpenID 模块,该模块基于 OpenIddict,具有合理的默认值,并提供一个内置的管理 GUI,可轻松注册 OpenID 客户端应用程序。
开始使用
要使用 OpenIddict 实现一个自定义的 OpenID 连接服务器,请阅读 入门。
兼容性矩阵
Web framework version | .NET runtime version | OpenIddict 2.0 ![]() |
OpenIddict 2.0.1 ![]() |
OpenIddict 3.0 |
---|---|---|---|---|
ASP.NET Core 2.1 | .NET Framework 4.6.1 | ![]() ![]() |
![]() ![]() |
![]() ![]() |
ASP.NET Core 2.1 | .NET Framework 4.7.2 | ![]() |
![]() |
![]() |
ASP.NET Core 2.1 | .NET Framework 4.8 | ![]() |
![]() |
![]() |
ASP.NET Core 2.1 | .NET Core 2.1 | ![]() |
![]() |
![]() |
ASP.NET Core 3.1 | .NET Core 3.1 | ![]() |
![]() |
![]() |
ASP.NET Core 5.0 | .NET 5.0 | ![]() |
![]() |
![]() |
Microsoft.Owin 4.1 | .NET Framework 4.6.1 | ![]() |
![]() |
![]() ![]() |
Microsoft.Owin 4.1 | .NET Framework 4.7.2 | ![]() |
![]() |
![]() |
Microsoft.Owin 4.1 | .NET Framework 4.8 | ![]() |
![]() |
![]() |
注意:OpenIddict 2.x 不再支持。我们强烈建议用户迁移到OpenIddict 3.0。
注意:当以 .NET Framework 4.6.1 为目标时,以下功能不可用。
- X.509开发加密/签名证书:如果找不到有效的开发证书,调用
AddDevelopmentEncryptionCertificate()
或AddDevelopmentSigningCertificate()
将导致在运行时抛出PlatformNotSupportedException
,必须生成一个新证书。 - X.509 ECDSA签名证书/密钥:使用ECDSA证书/密钥调用
AddSigningCertificate()
或AddSigningKey()
将导致在运行时抛出PlatformNotSupportedException
。
许可证
本项目采用 Apache 许可协议进行许可,这意味着您可以自由使用、修改和发布它。这意味着你可以自由使用、修改和发布它。更多细节请参见 http://www.apache.org/licenses/LICENSE-2.0.html。