idunno.Authentication

其他类别 2025-08-21

idunno.Authentication

该存储库包含ASP.NET核心的各种身份验证机制的集合,包括

  • 基本身份验证
  • 共享密钥身份验证
  • 证书身份验证

基本身份验证开始是作为如何编写身份验证中间件的演示,并且不是您会认真考虑使用的东西,但是显然,很多人都需要针对API,Webhooks和其他内容的基本身份验证,因此这里就是这样。

证书身份验证是ASP.NET Core Security Repo上的一个共同请求,因此我为ASP.NET Core 2.x编写了一个。 ASP.NET Core 3.0将其作为起点,而ASP.NET Core现在将证书身份验证作为支持的软件包。请使用那个。

共享的关键身份验证几乎是共享秘密身份验证Azure Blob存储使用的实现,而Azure特定的内容(例如租户标识符)已删除。如果您要在一个真实的项目中使用它,那么您应该让别人查看用来向自己(我)保证没有任何错误的散列的哈希。

由于Digest身份验证通常需要密码存储在纯文本或无盐哈希中,因此没有消化验证实现。

支持ASP.NET核心版本

基本身份验证可用于ASP.NET Core 2.1及更高版本。共享的密钥身份验证可用于ASP.NET Core 3.1及以后。认证身份验证仅针对ASP.NET Core 2.1,用于以后的版本使用官方软件包。

不是一个官方的Microsoft项目,而是“在我的业余时间,完全不支持”的™™工作。

Nuget软件包

Nuget软件包可用。

身份验证类型 Nuget软件包
基本的 https://www.n*u*g*et.org/packages/idunno.authentication.basic/
共享关键 https://www.*nu**get.org/packages/idunno.authentication.sharedkey/
证书 https://www.n**ug*et.org/packages/idunno..authentication.certificate/

Azure工件持有当前开发型构建的供稿。

版本历史记录

版本 笔记
2.4.0 添加了.NET 8对基本和共享关键的支持,包括贬低使用ISYSTEMCLOCK。
2.3.1 在基本身份验证中,添加了对凭证编码字符集,Latin1和utf8的支持。
2.3.0 添加了共享的密钥身份验证
基本身份验证现在多目标ASP.NET CORE 2.1、3.0、3.1,ASP.NET 5.0、6.0和7.0
2.2.3 基本身份验证现在多目标ASP.NET CORE 2.1,3.0,3.1,.NET 5.0和.NET 6.0
2.2.2 基本身份验证现在多目标ASP.NET Core 2.1、3.0和3.1
2.2.1 基本身份验证现在在通过HTTP发出请求时返回421请求
2.2.0 当在身份验证标头中发送无效的基本验证的基本身份验证不再引发异常
添加了用于抑制www-authenticate标题方案的属性
更新Nuget许可证和包装图标
2.1.1 添加了Sourcelink
根据.NET核心开源库指南,更改了库依赖性以消除对精确版本的需求
Nuget软件包现已签名
2.1.0 添加了证书身份验证
修复了基本身份验证事件处理
现在已签名authenticode软件包

笔记

每个处理程序都要求您验证通过的凭据。您负责硬化此身份验证并确保其在负载下执行。

下载源码

通过命令行克隆项目:

git clone https://github.com/blowdart/idunno.Authentication.git