Skip to content

Latest commit

 

History

History
51 lines (41 loc) · 2.35 KB

README.md

File metadata and controls

51 lines (41 loc) · 2.35 KB

Spryer.AspNetCore.Identity

ASP.NET Core Identity storage providers that use Dapper.

Packages

Package Version Downloads
Spryer NuGet Downloads
Spryer.AspNetCore.Identity NuGet Downloads
Spryer.AspNetCore.Identity.SqlServer NuGet Downloads
Spryer.AspNetCore.Identity.Sqlite NuGet Downloads

Usage

public sealed class AppUser : IdentityUser<Guid>
{
    public AppUser()
    {
        // default Identity UI uses this ctor when registering new users
        this.Id = Guid.NewGuid();
        this.SecurityStamp = Guid.NewGuid().ToString();
    }
}

public sealed class AppRole : IdentityRole<Guid>
{
    public AppRole()
    {
        // default Identity UI uses this ctor when creating new roles
        this.Id = Guid.NewGuid();
    }
}

// Program.cs

var connectionString = builder.Configuration.GetConnectionString("DefaultConnection") ??
    throw new InvalidOperationException("Connection string 'DefaultConnection' not found.");

builder.Services.AddSingleton(_ => SqlClientFactory.Instance.CreateDataSource(connectionString));

builder.Services
    .AddIdentity<AppUser, AppRole>(options => options.SignIn.RequireConfirmedAccount = true)
    .AddDapperStores(options => 
    {
        options.UseSqlServer();
    })
    .AddDefaultUI()
    .AddDefaultTokenProviders();