Daniel15.SimpleIdentity
3.0.0
dotnet add package Daniel15.SimpleIdentity --version 3.0.0
NuGet\Install-Package Daniel15.SimpleIdentity -Version 3.0.0
<PackageReference Include="Daniel15.SimpleIdentity" Version="3.0.0" />
paket add Daniel15.SimpleIdentity --version 3.0.0
#r "nuget: Daniel15.SimpleIdentity, 3.0.0"
// 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:
- ViewModels/LoginViewModel.cs
- Controllers/AccountController.cs
- Views/Account/Login.cshtml
- Views/Shared/_LoginPartial.cshtml
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 | Versions 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. |
-
.NETStandard 2.0
- Microsoft.Extensions.Identity.Core (>= 7.0.11)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 7.0.0)
-
net7.0
- Microsoft.Extensions.Identity.Core (>= 7.0.11)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.