{"id":18009791,"url":"https://github.com/blowdart/idunno.authentication","last_synced_at":"2025-05-15T09:05:57.906Z","repository":{"id":39121574,"uuid":"53006365","full_name":"blowdart/idunno.Authentication","owner":"blowdart","description":"A filled with self-loathing implementation of Basic Authentication, and Certificate Authentication to make me feel like a real security person, all for for ASP.NET Core","archived":false,"fork":false,"pushed_at":"2024-08-09T12:03:31.000Z","size":1361,"stargazers_count":435,"open_issues_count":3,"forks_count":70,"subscribers_count":12,"default_branch":"dev","last_synced_at":"2025-05-11T10:48:00.334Z","etag":null,"topics":["aspnet-core","aspnetcore","authentication","basic-authentication"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blowdart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-03T00:11:59.000Z","updated_at":"2025-05-05T19:45:50.000Z","dependencies_parsed_at":"2023-12-25T20:15:53.616Z","dependency_job_id":"47f84570-b2d8-4128-9f21-086a1cb30f6d","html_url":"https://github.com/blowdart/idunno.Authentication","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blowdart%2Fidunno.Authentication","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blowdart%2Fidunno.Authentication/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blowdart%2Fidunno.Authentication/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blowdart%2Fidunno.Authentication/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blowdart","download_url":"https://codeload.github.com/blowdart/idunno.Authentication/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254310513,"owners_count":22049468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnet-core","aspnetcore","authentication","basic-authentication"],"created_at":"2024-10-30T02:10:53.768Z","updated_at":"2025-05-15T09:05:57.881Z","avatar_url":"https://github.com/blowdart.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# idunno.Authentication\n\n[![Build Status](https://dev.azure.com/idunno-org/idunno.Authentication/_apis/build/status/blowdart.idunno.Authentication?branchName=dev)](https://dev.azure.com/idunno-org/idunno.Authentication/_build/latest?definitionId=1\u0026branchName=dev)\n\nThis repository contains a collection of various authentication mechanisms for ASP.NET Core, including\n\n* [Basic Authentication](src/idunno.Authentication.Basic/)\n* [Shared Key Authentication](src/idunno.Authentication.SharedKey/)\n* [Certificate Authentication](src/idunno.Authentication.Certificate/)\n\nBasic Authentication started as a demonstration of how to write authentication middleware and was not as something you would seriously consider using, but apparently lots of you want Basic Authentication \nfor apis, webhooks and other things so here it is.\n\nCertificate Authentication was a common request on the ASP.NET Core Security repo, so I wrote one for ASP.NET Core 2.x.\nASP.NET Core 3.0 took that as a starting point and ASP.NET Core now includes Certificate Authentication as a [supported package](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/certauth?view=aspnetcore-3.1). \nPlease use that one.\n\nShared Key Authentication is almost an implementation of the shared secret authentication Azure Blob Storage uses, with the Azure specific things like tenant identifier removed. If you're going to use\nthis in a real project you should have someone else look over the hashing used to reassure yourself (and me) that it doesn't have any mistakes.\n\nAs digest authentication typically requires passwords to be stored somewhere in plain text, or in an unsalted hash, there is no digest authentication implementation.\n\n## ASP.NET Core versions supported\n\nBasic Authentication is available for ASP.NET Core 2.1 and later.\nShared Key Authentication is available for ASP.NET Core 3.1 and later.\nCertification Authentication is only targeted at ASP.NET Core 2.1, for later versions use the [official package](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/certauth).\n\nThis is **not** an official Microsoft project, this is an \"In my spare time, entirely unsupported\"™ effort.\n\n## nuget packages\n\nnuget packages are available.\n\n| Authentication Type | nuget package                                                      |\n|---------------------|--------------------------------------------------------------------|\n| Basic               | https://www.nuget.org/packages/idunno.Authentication.Basic/        |\n| SharedKey           | https://www.nuget.org/packages/idunno.Authentication.SharedKey/    |\n| Certificate         | https://www.nuget.org/packages/idunno.Authentication.Certificate/  |\n\nAzure Artifacts holds a [feed of current dev builds](https://dev.azure.com/idunno-org/idunno.Authentication/_artifacts/feed/idunno.Authentication.Builds).\n\n## Version History\n\n| Version | Notes |\n|---------|-------|\n|2.4.0    | Added .NET 8 support for Basic and SharedKey, including deprecating the use of [ISystemClock](https://learn.microsoft.com/en-us/dotnet/core/compatibility/aspnet-core/8.0/isystemclock-obsolete). |\n|2.3.1    | Added support for credential encoding character sets, latin1 and utf8 to Basic Authentication. |\n|2.3.0    | Added Shared key authentication\u003cbr\u003eBasic authentication now multi-targets ASP.NET Core 2.1, 3.0, 3.1, ASP.NET 5.0, 6.0 and 7.0 |\n|2.2.3    | Basic authentication now multi-targets ASP.NET Core 2.1, 3.0, 3.1, .NET 5.0 and .NET 6.0 |\n|2.2.2    | Basic authentication now [multi-targets](https://github.com/blowdart/idunno.Authentication/issues/46) ASP.NET Core 2.1, 3.0 and 3.1 |\n|2.2.1    | Basic authentication now [returns a 421 request when a request is issued over HTTP](https://github.com/blowdart/idunno.Authentication/issues/44), unless AllowInsecureProtocol is set |\n|2.2.0    | Basic authentication no longer throws exception when [invalid base64 data sent in authentication header](https://github.com/blowdart/idunno.Authentication/issues/40)\u003cbr\u003eAdded property for suppressing the WWW-Authenticate header [scheme](https://github.com/blowdart/idunno.Authentication/issues/36)\u003cbr\u003eUpdated nuget license and package icon \u003cbr\u003e\n|2.1.1    | Added [SourceLink](https://github.com/dotnet/sourcelink/blob/master/README.md)\u003cbr\u003eChanged library dependencies to remove demands for exact versions, following the [.NET Core open-source library guidance](https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/)\u003cbr\u003enuget package is now signed\n|2.1.0    | Added Certificate Authentication\u003cbr\u003eFixed Basic Authentication event handling\u003cbr\u003ePackages are now Authenticode signed |\n\n\n## Notes\n\nEach handler requires you to authenticate the credentials passed.\nYou are responsible for hardening this authentication and ensuring it performs under load.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblowdart%2Fidunno.authentication","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblowdart%2Fidunno.authentication","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblowdart%2Fidunno.authentication/lists"}