Giter Site home page Giter Site logo

freddyrios / idunno.authentication Goto Github PK

View Code? Open in Web Editor NEW

This project forked from blowdart/idunno.authentication

0.0 0.0 0.0 1.29 MB

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

License: Apache License 2.0

C# 98.53% PowerShell 1.47%

idunno.authentication's Introduction

idunno.Authentication

Build Status

This repository contains a collection of various authentication mechanisms for ASP.NET Core, including

Basic 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 for apis, webhooks and other things so here it is.

Certificate Authentication was a common request on the ASP.NET Core Security repo, so I wrote one for ASP.NET Core 2.x. ASP.NET Core 3.0 took that as a starting point and includes Certificate Authentication as a supported package.

Shared 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 this 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.

ASP.NET Core versions supported

Basic Authentication is available for ASP.NET Core 2.1 and later. Shared Key Authentication is available for ASP.NET Core 3.1 and later. Certification Authentication is only targeted at ASP.NET Core 2.1, for later versions use the official package.

This is not an official Microsoft project, this is an "In my spare time, entirely unsupported"โ„ข effort.

nuget packages

nuget packages are available.

Authentication Type nuget package
Basic https://www.nuget.org/packages/idunno.Authentication.Basic/
SharedKey https://www.nuget.org/packages/idunno.Authentication.SharedKey/
Certificate https://www.nuget.org/packages/idunno.Authentication.Certificate/

Azure Artifacts holds a feed of current dev builds.

Version History

Version Notes
2.3.0 Added Shared key authentication
Basic authentication now multi-targets ASP.NET Core 2.1, 3.0, 3.1, ASP.NET 5.0, 6.0 and 7.0
2.2.3 Basic authentication now multi-targets ASP.NET Core 2.1, 3.0, 3.1, .NET 5.0 and .NET 6.0
2.2.2 Basic authentication now multi-targets ASP.NET Core 2.1, 3.0 and 3.1
2.2.1 Basic authentication now returns a 421 request when a request is issued over HTTP, unless AllowInsecureProtocol is set
2.2.0 Basic authentication no longer throws exception when invalid base64 data sent in authentication header
Added property for suppressing the WWW-Authenticate header scheme
Updated nuget license and package icon
2.1.1 Added SourceLink
Changed library dependencies to remove demands for exact versions, following the .NET Core open-source library guidance
nuget package is now signed
2.1.0 Added Certificate Authentication
Fixed Basic Authentication event handling
Packages are now Authenticode signed

Notes

Each handler requires you to authenticate the credentials passed. You are responsible for hardening this authentication and ensuring it performs under load.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.