Daniel15.SimpleIdentity 3.0.0

dotnet add package Daniel15.SimpleIdentity --version 3.0.0                
NuGet\Install-Package Daniel15.SimpleIdentity -Version 3.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Daniel15.SimpleIdentity" Version="3.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Daniel15.SimpleIdentity --version 3.0.0                
#r "nuget: Daniel15.SimpleIdentity, 3.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Daniel15.SimpleIdentity as a Cake Addin
#addin nuget:?package=Daniel15.SimpleIdentity&version=3.0.0

// Install Daniel15.SimpleIdentity as a Cake Tool
#tool nuget:?package=Daniel15.SimpleIdentity&version=3.0.0                

ASP.NET SimpleIdentity

A simple ASP.NET Core authentication and identity provider, ideal for smaller websites. Valid users are specified in a simple configuration file rather than a database.

Bug reports and feature requests are welcome!

Installation

If you are creating a brand new ASP.NET Core web application, ensure you select "No Authentication" when creating it.

Install NuGet package:

Install-Package Daniel15.SimpleIdentity

Create configuration. SimpleIdentity uses the standard ASP.NET configuration library. Running Daniel15.SimpleIdentity.Setup will allow you to enter a email address and password, and output the required config section. An example using user@example.com as the email address and password as the password:

    "Auth": {
        "Users": {
            "USER@EXAMPLE.COM": {
                "Email": "user@example.com",
                "NormalizedUserName": "USER@EXAMPLE.COM",
                "PasswordHash": "AQAAAAEAACcQAAAAEJOYL0MGZ5CNnERvqzI2Wl9eJLXMsuchKP1EIWGQneZ1GuNCjheC4pD1AWgVy+decQ=="
            }
        }
    }

Place this in any config file (for example, config.json). In a production scenario, you will want to store this in a separate config file that's not checked in to source control.

Configure SimpleIdentity in Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    // Add Identity services to the services container.
    services.AddIdentity<SimpleIdentityUser, SimpleIdentityRole>()
        .AddSimpleIdentity<SimpleIdentityUser>(Configuration.GetConfigurationSection("Auth"))
        .AddDefaultTokenProviders();

Enable identity services by adding this before app.UseMvc:

// Add cookie-based authentication to the request pipeline.
app.UseAuthentication();

Create login form. Some example files are included, based off the regular ASP.NET authentication:

Hit /Account/Login and it should work 😃

For a full example, see the included sample project.

Changelog

3.0.0 - 6th October 2023

  • Upgrade to ASP.NET Core 7.0. Note that if you are upgrading from an older version, you will need to re-hash the passwords by running Daniel15.SimpleIdentity.Setup again.

2.0.0 - 17th October 2017

  • Upgrade to ASP.NET Core 2.0
  • Throw better error message when config is missing

1.2.0 - 21st August 2016

  • Upgrade to ASP.NET Core RTM

1.1.0 - 27th May 2016

  • Upgrade to ASP.NET Core RC 2

1.0.1 - 20th November 2015

  • Upgrade to ASP.NET 5 RC 1

1.0 - 8th August 2015

  • Initial release
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.0 186 10/7/2023
2.0.0 1,011 10/18/2017
1.2.0 1,027 8/22/2016
1.1.0 1,033 5/27/2016
1.0.1 1,139 11/21/2015
1.0.0 1,400 8/9/2015