Added registration and login

This commit is contained in:
JakubWalkowiak 2020-12-16 21:41:14 +01:00
parent 7793341cff
commit 083f484627
47 changed files with 1839 additions and 154 deletions

Binary file not shown.

View File

@ -0,0 +1,33 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using StudyLib.API.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace StudyLib.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UserProfilesController : ControllerBase
{
private UserManager<User> _userManager;
public UserProfilesController(UserManager<User> userManager)
{
_userManager = userManager;
}
[HttpGet]
[Authorize]
public async Task<User> GetUserProfile()
{
string userId = User.Claims.First(c => c.Type == "UserID").Value;
var user = await _userManager.FindByIdAsync(userId);
return user;
}
}
}

View File

@ -0,0 +1,82 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Microsoft.IdentityModel.Tokens;
using StudyLib.API.Models;
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
namespace StudyLib.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UsersController : ControllerBase
{
private UserManager<User> _userManager;
private SignInManager<User> _signInManager;
private readonly ApplicationSettings _appSettings;
public UsersController(UserManager<User> userManager, SignInManager<User> signInManager, IOptions<ApplicationSettings> appSettings )
{
_userManager = userManager;
_signInManager = signInManager;
_appSettings = appSettings.Value;
}
[HttpPost("register")]
public async Task<ActionResult<User>> UserRegister(User user)
{
var userModel = new User
{
UserName = user.UserName,
FullName = user.FullName
};
try
{
var result = await _userManager.CreateAsync(userModel, user.Password);
return Ok(result);
}
catch (Exception ex)
{
throw ex;
}
}
[HttpPost("login")]
public async Task<ActionResult<User>> UserLogin(Login loginObject)
{
var user = await _userManager.FindByNameAsync(loginObject.UserName);
if (user != null && await _userManager.CheckPasswordAsync(user, loginObject.Password))
{
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new Claim[]
{
new Claim("UserID", user.ID.ToString())
}),
Expires = DateTime.UtcNow.AddDays(1),
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_appSettings.JWTSecret)), SecurityAlgorithms.HmacSha256Signature)
};
var tokenHandler = new JwtSecurityTokenHandler();
var securityToken = tokenHandler.CreateToken(tokenDescriptor);
var token = tokenHandler.WriteToken(securityToken);
return Ok(new { token });
}
else
{
return BadRequest("Username or password is incorrect");
}
}
}
}

View File

@ -1,11 +1,12 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using StudyLib.API.Models;
using StudyLib.Models;
using System;
namespace StudyLib.API.Data
{
public class StudyLibContext : DbContext
public class StudyLibContext : IdentityDbContext
{
public StudyLibContext(DbContextOptions<StudyLibContext> options) : base(options)
{

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace StudyLib.API.Models
{
public class ApplicationSettings
{
public string JWTSecret { get; set; }
}
}

13
API/Models/Login.cs Normal file
View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace StudyLib.API.Models
{
public class Login
{
public string UserName { get; set; }
public string Password { get; set; }
}
}

13
API/Models/User.cs Normal file
View File

@ -0,0 +1,13 @@
using Microsoft.AspNetCore.Identity;
namespace StudyLib.API.Models
{
public class User : IdentityUser
{
public long ID { get; set; }
public string FullName { get; set; }
public string Password { get; set; }
}
}

View File

@ -0,0 +1,454 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using StudyLib.API.Data;
namespace StudyLib.Migrations
{
[DbContext(typeof(StudyLibContext))]
[Migration("20201215203255_AddedUser")]
partial class AddedUser
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.UseIdentityColumns()
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.0");
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property<string>("Id")
.HasColumnType("nvarchar(450)");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex")
.HasFilter("[NormalizedName] IS NOT NULL");
b.ToTable("AspNetRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.UseIdentityColumn();
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<string>("RoleId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b =>
{
b.Property<string>("Id")
.HasColumnType("nvarchar(450)");
b.Property<int>("AccessFailedCount")
.HasColumnType("int");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("bit");
b.Property<bool>("LockoutEnabled")
.HasColumnType("bit");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("datetimeoffset");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("PasswordHash")
.HasColumnType("nvarchar(max)");
b.Property<string>("PhoneNumber")
.HasColumnType("nvarchar(max)");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("bit");
b.Property<string>("SecurityStamp")
.HasColumnType("nvarchar(max)");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("bit");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex")
.HasFilter("[NormalizedUserName] IS NOT NULL");
b.ToTable("AspNetUsers");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.UseIdentityColumn();
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.Property<string>("LoginProvider")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("ProviderKey")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("ProviderDisplayName")
.HasColumnType("nvarchar(max)");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("nvarchar(450)");
b.Property<string>("RoleId")
.HasColumnType("nvarchar(450)");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("nvarchar(450)");
b.Property<string>("LoginProvider")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("Name")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("Value")
.HasColumnType("nvarchar(max)");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens");
});
modelBuilder.Entity("StudyLib.API.Models.Comment", b =>
{
b.Property<long>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.UseIdentityColumn();
b.Property<long>("SubjectId")
.HasColumnType("bigint");
b.Property<string>("Text")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("ID");
b.HasIndex("SubjectId");
b.ToTable("Comments");
});
modelBuilder.Entity("StudyLib.API.Models.SubjectDeleteRequest", b =>
{
b.Property<long>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.UseIdentityColumn();
b.Property<long>("SubjectId")
.HasColumnType("bigint");
b.HasKey("ID");
b.HasIndex("SubjectId");
b.ToTable("SubjectDeleteRequests");
});
modelBuilder.Entity("StudyLib.Models.Assignment", b =>
{
b.Property<long>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.UseIdentityColumn();
b.Property<DateTime>("Deadline")
.HasColumnType("datetime2");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("FinalMarkPercent")
.HasColumnType("float");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<long>("SubjectId")
.HasColumnType("bigint");
b.HasKey("ID");
b.HasIndex("SubjectId");
b.ToTable("Assignments");
});
modelBuilder.Entity("StudyLib.Models.Subject", b =>
{
b.Property<long>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.UseIdentityColumn();
b.Property<DateTime>("ExamDate")
.HasColumnType("datetime2");
b.Property<string>("LabTeacher")
.HasColumnType("nvarchar(max)");
b.Property<string>("LectureTeacher")
.HasColumnType("nvarchar(max)");
b.Property<bool>("MainExam")
.HasColumnType("bit");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("ID");
b.ToTable("Subjects");
});
modelBuilder.Entity("StudyLib.Models.Test", b =>
{
b.Property<long>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.UseIdentityColumn();
b.Property<DateTime>("Date")
.HasColumnType("datetime2");
b.Property<double>("FinalMarkPercent")
.HasColumnType("float");
b.Property<string>("Scope")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<long>("SubjectId")
.HasColumnType("bigint");
b.HasKey("ID");
b.HasIndex("SubjectId");
b.ToTable("Tests");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("StudyLib.API.Models.Comment", b =>
{
b.HasOne("StudyLib.Models.Subject", "Subject")
.WithMany("Comments")
.HasForeignKey("SubjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Subject");
});
modelBuilder.Entity("StudyLib.API.Models.SubjectDeleteRequest", b =>
{
b.HasOne("StudyLib.Models.Subject", "Subject")
.WithMany()
.HasForeignKey("SubjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Subject");
});
modelBuilder.Entity("StudyLib.Models.Assignment", b =>
{
b.HasOne("StudyLib.Models.Subject", "Subject")
.WithMany("Assignments")
.HasForeignKey("SubjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Subject");
});
modelBuilder.Entity("StudyLib.Models.Test", b =>
{
b.HasOne("StudyLib.Models.Subject", "Subject")
.WithMany("Tests")
.HasForeignKey("SubjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Subject");
});
modelBuilder.Entity("StudyLib.Models.Subject", b =>
{
b.Navigation("Assignments");
b.Navigation("Comments");
b.Navigation("Tests");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,219 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace StudyLib.Migrations
{
public partial class AddedUser : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "AspNetRoles",
columns: table => new
{
Id = table.Column<string>(type: "nvarchar(450)", nullable: false),
Name = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
NormalizedName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ConcurrencyStamp = table.Column<string>(type: "nvarchar(max)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetRoles", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AspNetUsers",
columns: table => new
{
Id = table.Column<string>(type: "nvarchar(450)", nullable: false),
UserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
NormalizedUserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
Email = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
NormalizedEmail = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
EmailConfirmed = table.Column<bool>(type: "bit", nullable: false),
PasswordHash = table.Column<string>(type: "nvarchar(max)", nullable: true),
SecurityStamp = table.Column<string>(type: "nvarchar(max)", nullable: true),
ConcurrencyStamp = table.Column<string>(type: "nvarchar(max)", nullable: true),
PhoneNumber = table.Column<string>(type: "nvarchar(max)", nullable: true),
PhoneNumberConfirmed = table.Column<bool>(type: "bit", nullable: false),
TwoFactorEnabled = table.Column<bool>(type: "bit", nullable: false),
LockoutEnd = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
LockoutEnabled = table.Column<bool>(type: "bit", nullable: false),
AccessFailedCount = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUsers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AspNetRoleClaims",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
RoleId = table.Column<string>(type: "nvarchar(450)", nullable: false),
ClaimType = table.Column<string>(type: "nvarchar(max)", nullable: true),
ClaimValue = table.Column<string>(type: "nvarchar(max)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
table.ForeignKey(
name: "FK_AspNetRoleClaims_AspNetRoles_RoleId",
column: x => x.RoleId,
principalTable: "AspNetRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserClaims",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
UserId = table.Column<string>(type: "nvarchar(450)", nullable: false),
ClaimType = table.Column<string>(type: "nvarchar(max)", nullable: true),
ClaimValue = table.Column<string>(type: "nvarchar(max)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
table.ForeignKey(
name: "FK_AspNetUserClaims_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserLogins",
columns: table => new
{
LoginProvider = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
ProviderKey = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
ProviderDisplayName = table.Column<string>(type: "nvarchar(max)", nullable: true),
UserId = table.Column<string>(type: "nvarchar(450)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey });
table.ForeignKey(
name: "FK_AspNetUserLogins_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserRoles",
columns: table => new
{
UserId = table.Column<string>(type: "nvarchar(450)", nullable: false),
RoleId = table.Column<string>(type: "nvarchar(450)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId });
table.ForeignKey(
name: "FK_AspNetUserRoles_AspNetRoles_RoleId",
column: x => x.RoleId,
principalTable: "AspNetRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AspNetUserRoles_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserTokens",
columns: table => new
{
UserId = table.Column<string>(type: "nvarchar(450)", nullable: false),
LoginProvider = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
Value = table.Column<string>(type: "nvarchar(max)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
table.ForeignKey(
name: "FK_AspNetUserTokens_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_AspNetRoleClaims_RoleId",
table: "AspNetRoleClaims",
column: "RoleId");
migrationBuilder.CreateIndex(
name: "RoleNameIndex",
table: "AspNetRoles",
column: "NormalizedName",
unique: true,
filter: "[NormalizedName] IS NOT NULL");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserClaims_UserId",
table: "AspNetUserClaims",
column: "UserId");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserLogins_UserId",
table: "AspNetUserLogins",
column: "UserId");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserRoles_RoleId",
table: "AspNetUserRoles",
column: "RoleId");
migrationBuilder.CreateIndex(
name: "EmailIndex",
table: "AspNetUsers",
column: "NormalizedEmail");
migrationBuilder.CreateIndex(
name: "UserNameIndex",
table: "AspNetUsers",
column: "NormalizedUserName",
unique: true,
filter: "[NormalizedUserName] IS NOT NULL");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AspNetRoleClaims");
migrationBuilder.DropTable(
name: "AspNetUserClaims");
migrationBuilder.DropTable(
name: "AspNetUserLogins");
migrationBuilder.DropTable(
name: "AspNetUserRoles");
migrationBuilder.DropTable(
name: "AspNetUserTokens");
migrationBuilder.DropTable(
name: "AspNetRoles");
migrationBuilder.DropTable(
name: "AspNetUsers");
}
}
}

View File

@ -19,6 +19,206 @@ namespace StudyLib.Migrations
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.0");
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property<string>("Id")
.HasColumnType("nvarchar(450)");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex")
.HasFilter("[NormalizedName] IS NOT NULL");
b.ToTable("AspNetRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.UseIdentityColumn();
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<string>("RoleId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b =>
{
b.Property<string>("Id")
.HasColumnType("nvarchar(450)");
b.Property<int>("AccessFailedCount")
.HasColumnType("int");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("bit");
b.Property<bool>("LockoutEnabled")
.HasColumnType("bit");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("datetimeoffset");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("PasswordHash")
.HasColumnType("nvarchar(max)");
b.Property<string>("PhoneNumber")
.HasColumnType("nvarchar(max)");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("bit");
b.Property<string>("SecurityStamp")
.HasColumnType("nvarchar(max)");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("bit");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex")
.HasFilter("[NormalizedUserName] IS NOT NULL");
b.ToTable("AspNetUsers");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.UseIdentityColumn();
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.Property<string>("LoginProvider")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("ProviderKey")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("ProviderDisplayName")
.HasColumnType("nvarchar(max)");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("nvarchar(450)");
b.Property<string>("RoleId")
.HasColumnType("nvarchar(450)");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("nvarchar(450)");
b.Property<string>("LoginProvider")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("Name")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("Value")
.HasColumnType("nvarchar(max)");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens");
});
modelBuilder.Entity("StudyLib.API.Models.Comment", b =>
{
b.Property<long>("ID")
@ -143,6 +343,57 @@ namespace StudyLib.Migrations
b.ToTable("Tests");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("StudyLib.API.Models.Comment", b =>
{
b.HasOne("StudyLib.Models.Subject", "Subject")

View File

@ -1,11 +1,16 @@
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.IdentityModel.Tokens;
using Newtonsoft.Json;
using StudyLib.API.Data;
using StudyLib.API.Models;
using System.Text;
namespace StudyLib
{
@ -21,6 +26,7 @@ namespace StudyLib
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.Configure<ApplicationSettings>(Configuration.GetSection("ApplicationSettings"));
services.AddCors(options =>
{
options.AddPolicy(name: "AllowSpecificOrigins",
@ -34,10 +40,39 @@ namespace StudyLib
services.AddControllers().AddNewtonsoftJson(options => {
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
}
);
});
services.AddAuthentication(opt => {
opt.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
opt.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
opt.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.RequireHttpsMetadata = false;
options.SaveToken = false;
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "http://localhost:5000",
ValidAudience = "http://localhost:5000",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["ApplicationSettings:JWTSecret"].ToString()))
};
});
services.AddDbContext<StudyLibContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("StudyLibContext")));
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true).AddEntityFrameworkStores<StudyLibContext>();
services.Configure<IdentityOptions>(options =>
{
options.Password.RequireDigit = false;
options.Password.RequiredLength = 4;
options.Password.RequireLowercase = false;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
@ -54,6 +89,8 @@ namespace StudyLib
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>

View File

@ -5,6 +5,9 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="5.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0" />
@ -13,6 +16,9 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="5.0.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.0" />
</ItemGroup>

View File

@ -9,5 +9,8 @@
"AllowedHosts": "*",
"ConnectionStrings": {
"StudyLibContext": "Server=DESKTOP-ON3C0C0;Database=StudyLibDB;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"ApplicationSettings": {
"JWTSecret": "1234567890123456789"
}
}

Binary file not shown.

View File

@ -0,0 +1,3 @@
<StaticWebAssets Version="1.0">
<ContentRoot BasePath="/Identity" Path="C:\Users\Jakub\.nuget\packages\microsoft.aspnetcore.identity.ui\5.0.0\staticwebassets\V4\" />
</StaticWebAssets>

View File

@ -25,11 +25,17 @@
".NETCoreApp,Version=v5.0": {
"StudyLib/1.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Authentication.JwtBearer": "5.0.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "5.0.0",
"Microsoft.AspNetCore.Identity.UI": "5.0.0",
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "5.0.0",
"Microsoft.EntityFrameworkCore": "5.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "5.0.0",
"Microsoft.EntityFrameworkCore.Sqlite": "5.0.0",
"Microsoft.EntityFrameworkCore.Tools": "5.0.0",
"Microsoft.Extensions.DependencyInjection": "5.0.0",
"Microsoft.Extensions.Identity.Core": "5.0.0",
"Microsoft.Extensions.Identity.Stores": "5.0.0",
"Microsoft.VisualStudio.Web.CodeGeneration.Design": "5.0.0",
"Microsoft.AspNetCore.Antiforgery": "5.0.0.0",
"Microsoft.AspNetCore.Authentication.Abstractions": "5.0.0.0",
@ -47,8 +53,8 @@
"Microsoft.AspNetCore.Connections.Abstractions": "5.0.0.0",
"Microsoft.AspNetCore.CookiePolicy": "5.0.0.0",
"Microsoft.AspNetCore.Cors": "5.0.0.0",
"Microsoft.AspNetCore.Cryptography.Internal": "5.0.0.0",
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "5.0.0.0",
"Microsoft.AspNetCore.Cryptography.Internal.Reference": "5.0.0.0",
"Microsoft.AspNetCore.Cryptography.KeyDerivation.Reference": "5.0.0.0",
"Microsoft.AspNetCore.DataProtection.Abstractions": "5.0.0.0",
"Microsoft.AspNetCore.DataProtection": "5.0.0.0",
"Microsoft.AspNetCore.DataProtection.Extensions": "5.0.0.0",
@ -126,16 +132,16 @@
"Microsoft.Extensions.DependencyInjection.Reference": "5.0.0.0",
"Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "5.0.0.0",
"Microsoft.Extensions.Diagnostics.HealthChecks": "5.0.0.0",
"Microsoft.Extensions.FileProviders.Abstractions": "5.0.0.0",
"Microsoft.Extensions.FileProviders.Abstractions.Reference": "5.0.0.0",
"Microsoft.Extensions.FileProviders.Composite": "5.0.0.0",
"Microsoft.Extensions.FileProviders.Embedded": "5.0.0.0",
"Microsoft.Extensions.FileProviders.Embedded.Reference": "5.0.0.0",
"Microsoft.Extensions.FileProviders.Physical": "5.0.0.0",
"Microsoft.Extensions.FileSystemGlobbing": "5.0.0.0",
"Microsoft.Extensions.Hosting.Abstractions": "5.0.0.0",
"Microsoft.Extensions.Hosting": "5.0.0.0",
"Microsoft.Extensions.Http": "5.0.0.0",
"Microsoft.Extensions.Identity.Core": "5.0.0.0",
"Microsoft.Extensions.Identity.Stores": "5.0.0.0",
"Microsoft.Extensions.Identity.Core.Reference": "5.0.0.0",
"Microsoft.Extensions.Identity.Stores.Reference": "5.0.0.0",
"Microsoft.Extensions.Localization.Abstractions": "5.0.0.0",
"Microsoft.Extensions.Localization": "5.0.0.0",
"Microsoft.Extensions.Logging.Abstractions.Reference": "5.0.0.0",
@ -330,11 +336,66 @@
}
}
},
"Microsoft.AspNetCore.Authentication.JwtBearer/5.0.0": {
"dependencies": {
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.7.1"
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.52605"
}
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll": {}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/5.0.0": {},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/5.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "5.0.0"
}
},
"Microsoft.AspNetCore.Html.Abstractions/2.2.0": {
"dependencies": {
"System.Text.Encodings.Web": "4.5.0"
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/5.0.0": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "5.0.0",
"Microsoft.Extensions.Identity.Stores": "5.0.0"
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.52605"
}
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {}
}
},
"Microsoft.AspNetCore.Identity.UI/5.0.0": {
"dependencies": {
"Microsoft.Extensions.FileProviders.Embedded": "5.0.0",
"Microsoft.Extensions.Identity.Stores": "5.0.0"
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.52605"
},
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.52605"
}
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll": {},
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.dll": {}
}
},
"Microsoft.AspNetCore.JsonPatch/5.0.0": {
"dependencies": {
"Microsoft.CSharp": "4.7.0",
@ -652,8 +713,8 @@
"dependencies": {
"Microsoft.Data.SqlClient.SNI.runtime": "2.0.1",
"Microsoft.Identity.Client": "4.14.0",
"Microsoft.IdentityModel.JsonWebTokens": "5.6.0",
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "5.6.0",
"Microsoft.IdentityModel.JsonWebTokens": "6.7.1",
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.7.1",
"Microsoft.Win32.Registry": "4.7.0",
"System.Configuration.ConfigurationManager": "4.7.0",
"System.Diagnostics.DiagnosticSource": "5.0.0",
@ -894,6 +955,30 @@
"lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": {}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/5.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "5.0.0"
}
},
"Microsoft.Extensions.FileProviders.Embedded/5.0.0": {
"dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "5.0.0"
}
},
"Microsoft.Extensions.Identity.Core/5.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "5.0.0",
"Microsoft.Extensions.Logging": "5.0.0",
"Microsoft.Extensions.Options": "5.0.0"
}
},
"Microsoft.Extensions.Identity.Stores/5.0.0": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "5.0.0",
"Microsoft.Extensions.Identity.Core": "5.0.0",
"Microsoft.Extensions.Logging": "5.0.0"
}
},
"Microsoft.Extensions.Logging/5.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "5.0.0",
@ -929,73 +1014,71 @@
}
}
},
"Microsoft.IdentityModel.JsonWebTokens/5.6.0": {
"Microsoft.IdentityModel.JsonWebTokens/6.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Tokens": "5.6.0",
"Newtonsoft.Json": "12.0.2"
"Microsoft.IdentityModel.Tokens": "6.7.1"
},
"runtime": {
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
"assemblyVersion": "5.6.0.0",
"fileVersion": "5.6.0.61018"
"assemblyVersion": "6.7.1.0",
"fileVersion": "6.7.1.10630"
}
},
"compile": {
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {}
}
},
"Microsoft.IdentityModel.Logging/5.6.0": {
"Microsoft.IdentityModel.Logging/6.7.1": {
"runtime": {
"lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "5.6.0.0",
"fileVersion": "5.6.0.61018"
"assemblyVersion": "6.7.1.0",
"fileVersion": "6.7.1.10630"
}
},
"compile": {
"lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": {}
}
},
"Microsoft.IdentityModel.Protocols/5.6.0": {
"Microsoft.IdentityModel.Protocols/6.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Logging": "5.6.0",
"Microsoft.IdentityModel.Tokens": "5.6.0"
"Microsoft.IdentityModel.Logging": "6.7.1",
"Microsoft.IdentityModel.Tokens": "6.7.1"
},
"runtime": {
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": {
"assemblyVersion": "5.6.0.0",
"fileVersion": "5.6.0.61018"
"assemblyVersion": "6.7.1.0",
"fileVersion": "6.7.1.10630"
}
},
"compile": {
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": {}
}
},
"Microsoft.IdentityModel.Protocols.OpenIdConnect/5.6.0": {
"Microsoft.IdentityModel.Protocols.OpenIdConnect/6.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Protocols": "5.6.0",
"Newtonsoft.Json": "12.0.2",
"System.IdentityModel.Tokens.Jwt": "5.6.0"
"Microsoft.IdentityModel.Protocols": "6.7.1",
"System.IdentityModel.Tokens.Jwt": "6.7.1"
},
"runtime": {
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
"assemblyVersion": "5.6.0.0",
"fileVersion": "5.6.0.61018"
"assemblyVersion": "6.7.1.0",
"fileVersion": "6.7.1.10630"
}
},
"compile": {
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {}
}
},
"Microsoft.IdentityModel.Tokens/5.6.0": {
"Microsoft.IdentityModel.Tokens/6.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Logging": "5.6.0",
"Newtonsoft.Json": "12.0.2",
"Microsoft.CSharp": "4.7.0",
"Microsoft.IdentityModel.Logging": "6.7.1",
"System.Security.Cryptography.Cng": "4.5.0"
},
"runtime": {
"lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "5.6.0.0",
"fileVersion": "5.6.0.61018"
"assemblyVersion": "6.7.1.0",
"fileVersion": "6.7.1.10630"
}
},
"compile": {
@ -1553,16 +1636,15 @@
"System.Runtime.InteropServices": "4.3.0"
}
},
"System.IdentityModel.Tokens.Jwt/5.6.0": {
"System.IdentityModel.Tokens.Jwt/6.7.1": {
"dependencies": {
"Microsoft.IdentityModel.JsonWebTokens": "5.6.0",
"Microsoft.IdentityModel.Tokens": "5.6.0",
"Newtonsoft.Json": "12.0.2"
"Microsoft.IdentityModel.JsonWebTokens": "6.7.1",
"Microsoft.IdentityModel.Tokens": "6.7.1"
},
"runtime": {
"lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": {
"assemblyVersion": "5.6.0.0",
"fileVersion": "5.6.0.61018"
"assemblyVersion": "6.7.1.0",
"fileVersion": "6.7.1.10630"
}
},
"compile": {
@ -2096,13 +2178,13 @@
},
"compileOnly": true
},
"Microsoft.AspNetCore.Cryptography.Internal/5.0.0.0": {
"Microsoft.AspNetCore.Cryptography.Internal.Reference/5.0.0.0": {
"compile": {
"Microsoft.AspNetCore.Cryptography.Internal.dll": {}
},
"compileOnly": true
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/5.0.0.0": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation.Reference/5.0.0.0": {
"compile": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {}
},
@ -2570,7 +2652,7 @@
},
"compileOnly": true
},
"Microsoft.Extensions.FileProviders.Abstractions/5.0.0.0": {
"Microsoft.Extensions.FileProviders.Abstractions.Reference/5.0.0.0": {
"compile": {
"Microsoft.Extensions.FileProviders.Abstractions.dll": {}
},
@ -2582,7 +2664,7 @@
},
"compileOnly": true
},
"Microsoft.Extensions.FileProviders.Embedded/5.0.0.0": {
"Microsoft.Extensions.FileProviders.Embedded.Reference/5.0.0.0": {
"compile": {
"Microsoft.Extensions.FileProviders.Embedded.dll": {}
},
@ -2618,13 +2700,13 @@
},
"compileOnly": true
},
"Microsoft.Extensions.Identity.Core/5.0.0.0": {
"Microsoft.Extensions.Identity.Core.Reference/5.0.0.0": {
"compile": {
"Microsoft.Extensions.Identity.Core.dll": {}
},
"compileOnly": true
},
"Microsoft.Extensions.Identity.Stores/5.0.0.0": {
"Microsoft.Extensions.Identity.Stores.Reference/5.0.0.0": {
"compile": {
"Microsoft.Extensions.Identity.Stores.dll": {}
},
@ -3713,6 +3795,27 @@
"path": "humanizer.core/2.8.26",
"hashPath": "humanizer.core.2.8.26.nupkg.sha512"
},
"Microsoft.AspNetCore.Authentication.JwtBearer/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-26WlfJsOB4QP3VsEVu5GGDSGm5wu6ikQqRUOaZ3BUmyGcMWsD28xFxPxFw4OszYgKpj54QYlyec19KcrEGkqDw==",
"path": "microsoft.aspnetcore.authentication.jwtbearer/5.0.0",
"hashPath": "microsoft.aspnetcore.authentication.jwtbearer.5.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.Internal/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-2m4F3sQQhPa13Fe9/4wL2sXS8Hrx/zTd4J04ZsnnfeoCzQbAwpNW2m4+d+/UU4yXLYxsph9amNXtGZ0QSFOSvA==",
"path": "microsoft.aspnetcore.cryptography.internal/5.0.0",
"hashPath": "microsoft.aspnetcore.cryptography.internal.5.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xya2ZtBQFJlW4P+Q7pkwfnAkMcPuR7QNpWioefMye/aOIoGaW8Ul5KTXalCqSd3MMiWzHcJvd+eH9ZPIaj2N/w==",
"path": "microsoft.aspnetcore.cryptography.keyderivation/5.0.0",
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.5.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Html.Abstractions/2.2.0": {
"type": "package",
"serviceable": true,
@ -3720,6 +3823,20 @@
"path": "microsoft.aspnetcore.html.abstractions/2.2.0",
"hashPath": "microsoft.aspnetcore.html.abstractions.2.2.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-AfAFu+ndWsohAwIdek489Xi0kAAKQ8j6x/Q1e3sAHpfy9Keraj6tPp0tpjh8VeQJb1TlMcuiqJGxatgEGiN1IA==",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/5.0.0",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.5.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.UI/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-2rx9bkkecYW5/Qp74CeteE3FS930kgTSg4nSiuVXRvf95ZXu+BQDTNKfngi1FDaqSfHbicxnyvMRLtEPYWEcVA==",
"path": "microsoft.aspnetcore.identity.ui/5.0.0",
"hashPath": "microsoft.aspnetcore.identity.ui.5.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.JsonPatch/5.0.0": {
"type": "package",
"serviceable": true,
@ -3944,6 +4061,34 @@
"path": "microsoft.extensions.dependencymodel/5.0.0",
"hashPath": "microsoft.extensions.dependencymodel.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-iuZIiZ3mteEb+nsUqpGXKx2cGF+cv6gWPd5jqQI4hzqdiJ6I94ddLjKhQOuRW1lueHwocIw30xbSHGhQj0zjdQ==",
"path": "microsoft.extensions.fileproviders.abstractions/5.0.0",
"hashPath": "microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Embedded/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-2Of7fsjZi1UilxtZMHKchQqdzXxwAxjGhRvmQI1ih5+Oq+xWVHlNrJdIXMYf7u0Z7aVlHZfKOH8sNGfyH4ZRNw==",
"path": "microsoft.extensions.fileproviders.embedded/5.0.0",
"hashPath": "microsoft.extensions.fileproviders.embedded.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Core/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-LR8gFg/snKoHJ1J3/Z5A93rD+p4EFhMSTci188wPTlHUqeaYIBG/3RkR9TXSPzLUYAkZjaghqy+9pjQOehRv1g==",
"path": "microsoft.extensions.identity.core/5.0.0",
"hashPath": "microsoft.extensions.identity.core.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Stores/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-st2HhRAgK14xK070mWIWWB1jKL1oEG2nKixicFARo3FMBFoj9PSwaNdPApFvtfU7L5KQgviMR1DFep+JfGcpEg==",
"path": "microsoft.extensions.identity.stores/5.0.0",
"hashPath": "microsoft.extensions.identity.stores.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging/5.0.0": {
"type": "package",
"serviceable": true,
@ -3979,40 +4124,40 @@
"path": "microsoft.identity.client/4.14.0",
"hashPath": "microsoft.identity.client.4.14.0.nupkg.sha512"
},
"Microsoft.IdentityModel.JsonWebTokens/5.6.0": {
"Microsoft.IdentityModel.JsonWebTokens/6.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-0q0U1W+gX1jmfmv7uU7GXFGB518atmSwucxsVwPGpuaGS3jwd2tUi+Gau+ezxR6oAFEBFKG9lz/fxRZzGMeDXg==",
"path": "microsoft.identitymodel.jsonwebtokens/5.6.0",
"hashPath": "microsoft.identitymodel.jsonwebtokens.5.6.0.nupkg.sha512"
"sha512": "sha512-q/Ii8ILV8cM1X49gnl12cJK+0KWiI1xUeiLYiE9+uRonJLaHWB0l8t89rGnZTEGthGKItyikKSB38LQpfy/zBw==",
"path": "microsoft.identitymodel.jsonwebtokens/6.7.1",
"hashPath": "microsoft.identitymodel.jsonwebtokens.6.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/5.6.0": {
"Microsoft.IdentityModel.Logging/6.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zEDrfEVW5x5w2hbTV94WwAcWvtue5hNTXYqoPh3ypF6U8csm09JazEYy+VPp2RtczkyMfcsvWY9Fea17e+isYQ==",
"path": "microsoft.identitymodel.logging/5.6.0",
"hashPath": "microsoft.identitymodel.logging.5.6.0.nupkg.sha512"
"sha512": "sha512-WGtTiTy2ZikOz/I5GxCGbNPLOpyI9fPyuyG4Q5rfkhACK+Q0Ad6U8XajYZ2cJ2cFKse0IvHwm15HVrfwrX/89g==",
"path": "microsoft.identitymodel.logging/6.7.1",
"hashPath": "microsoft.identitymodel.logging.6.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Protocols/5.6.0": {
"Microsoft.IdentityModel.Protocols/6.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ei7YqYx0pIFL6JjK8ZnPK0MXZRWUNHtJPUl3KqSvj9+2f5CMa6GRSEC+BMDHr17tP6yujYUg0IQOcKzmC7qN5g==",
"path": "microsoft.identitymodel.protocols/5.6.0",
"hashPath": "microsoft.identitymodel.protocols.5.6.0.nupkg.sha512"
"sha512": "sha512-DVGYIRUK3TkCTmz0IgBzWUE55CDNfLtXil1FgSbgHI7hi2fP2pz4tiTAno/5O/hdVwAzV+HtCQtFi7xW8smaHw==",
"path": "microsoft.identitymodel.protocols/6.7.1",
"hashPath": "microsoft.identitymodel.protocols.6.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Protocols.OpenIdConnect/5.6.0": {
"Microsoft.IdentityModel.Protocols.OpenIdConnect/6.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yh3n+uXiwpBy/5+t67tYcmRxb9kwQdaKRyG/DNipRMF37bg5Jr0vENOo1BQz6OySMl5WIK544SzPjtr7/KkucA==",
"path": "microsoft.identitymodel.protocols.openidconnect/5.6.0",
"hashPath": "microsoft.identitymodel.protocols.openidconnect.5.6.0.nupkg.sha512"
"sha512": "sha512-99gA+E6ZOCqySrT80Yh6wrfjJfeMxDisdAcA5Q66zHxMPY5Gzc8aT2Ldzu0GP1sADv/o3yI1Gc3P1GHXlXAVVQ==",
"path": "microsoft.identitymodel.protocols.openidconnect/6.7.1",
"hashPath": "microsoft.identitymodel.protocols.openidconnect.6.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/5.6.0": {
"Microsoft.IdentityModel.Tokens/6.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-C3OqR3QfBQ7wcC7yAsdMQqay87OsV6yWPYG/Ai3n7dvmWIGkouQhXoVxRP0xz3cAFL4hxZBXyw4aLTC421PaMg==",
"path": "microsoft.identitymodel.tokens/5.6.0",
"hashPath": "microsoft.identitymodel.tokens.5.6.0.nupkg.sha512"
"sha512": "sha512-Td9Vn9d/0eM1zlUUvaVQzjqdBkBLJ2oGtGL/LYPuiCUAALMeAHVDtpXGk8eYI8Gbduz5n+o7ifldsCIca4MWew==",
"path": "microsoft.identitymodel.tokens/6.7.1",
"hashPath": "microsoft.identitymodel.tokens.6.7.1.nupkg.sha512"
},
"Microsoft.NETCore.Platforms/3.1.0": {
"type": "package",
@ -4308,12 +4453,12 @@
"path": "system.globalization.extensions/4.3.0",
"hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512"
},
"System.IdentityModel.Tokens.Jwt/5.6.0": {
"System.IdentityModel.Tokens.Jwt/6.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KMvPpX4exs2fe7Upq5zHMSR4yupc+jy8WG8yjucZL0XvT+r/T0hRvLIe9fP/SeN8/UVxFYBRAkRI5k1zbRGqmA==",
"path": "system.identitymodel.tokens.jwt/5.6.0",
"hashPath": "system.identitymodel.tokens.jwt.5.6.0.nupkg.sha512"
"sha512": "sha512-sPnRn9dUMYARQC3mAKWpig/7rlrruqJvopKXmGoYAQ1A+xQsT3q5LiwsArkV8Oz/hfiRCLkV9vgi3FQg/mYfrw==",
"path": "system.identitymodel.tokens.jwt/6.7.1",
"hashPath": "system.identitymodel.tokens.jwt.6.7.1.nupkg.sha512"
},
"System.IO/4.3.0": {
"type": "package",
@ -4738,12 +4883,12 @@
"serviceable": false,
"sha512": ""
},
"Microsoft.AspNetCore.Cryptography.Internal/5.0.0.0": {
"Microsoft.AspNetCore.Cryptography.Internal.Reference/5.0.0.0": {
"type": "referenceassembly",
"serviceable": false,
"sha512": ""
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/5.0.0.0": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation.Reference/5.0.0.0": {
"type": "referenceassembly",
"serviceable": false,
"sha512": ""
@ -5133,7 +5278,7 @@
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.FileProviders.Abstractions/5.0.0.0": {
"Microsoft.Extensions.FileProviders.Abstractions.Reference/5.0.0.0": {
"type": "referenceassembly",
"serviceable": false,
"sha512": ""
@ -5143,7 +5288,7 @@
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.FileProviders.Embedded/5.0.0.0": {
"Microsoft.Extensions.FileProviders.Embedded.Reference/5.0.0.0": {
"type": "referenceassembly",
"serviceable": false,
"sha512": ""
@ -5173,12 +5318,12 @@
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Identity.Core/5.0.0.0": {
"Microsoft.Extensions.Identity.Core.Reference/5.0.0.0": {
"type": "referenceassembly",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Identity.Stores/5.0.0.0": {
"Microsoft.Extensions.Identity.Stores.Reference/5.0.0.0": {
"type": "referenceassembly",
"serviceable": false,
"sha512": ""

Binary file not shown.

Binary file not shown.

View File

@ -9,5 +9,8 @@
"AllowedHosts": "*",
"ConnectionStrings": {
"StudyLibContext": "Server=DESKTOP-ON3C0C0;Database=StudyLibDB;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"ApplicationSettings": {
"JWTSecret": "1234567890123456789"
}
}

Binary file not shown.

View File

@ -11,6 +11,7 @@
using System;
using System.Reflection;
[assembly: Microsoft.AspNetCore.Identity.UI.UIFrameworkAttribute("Bootstrap4")]
[assembly: System.Reflection.AssemblyCompanyAttribute("StudyLib")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
e12e2073c1f8dca5ecb610cd5a16900bb0a948ea
6013a8499874b988ee82e06277be31f1e957e1fb

View File

@ -0,0 +1,18 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Ten kod został wygenerowany przez narzędzie.
// Wersja wykonawcza:4.0.30319.42000
//
// Zmiany w tym pliku mogą spowodować nieprawidłowe zachowanie i zostaną utracone, jeśli
// kod zostanie ponownie wygenerowany.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Microsoft.AspNetCore.Identity.UI")]
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Microsoft.AspNetCore.Identity.UI.Views.V4")]
// Wygenerowane przez klasę WriteCodeFragment programu MSBuild.

View File

@ -1 +1 @@
4c01e416956b3c50daec1ce112986f017c085152
cad587a26be2f59d59cfa39d053b6ddeb9041049

View File

@ -454,3 +454,9 @@ E:\Studia\Pracownia programowania\git\study-lib-backend\obj\Debug\net5.0\StudyLi
E:\Studia\Pracownia programowania\git\study-lib-backend\obj\Debug\net5.0\ref\StudyLib.dll
E:\Studia\Pracownia programowania\git\study-lib-backend\obj\Debug\net5.0\StudyLib.pdb
E:\Studia\Pracownia programowania\git\study-lib-backend\obj\Debug\net5.0\StudyLib.genruntimeconfig.cache
E:\Studia\Pracownia programowania\git\study-lib-backend\bin\Debug\net5.0\StudyLib.StaticWebAssets.xml
E:\Studia\Pracownia programowania\git\study-lib-backend\bin\Debug\net5.0\Microsoft.AspNetCore.Authentication.JwtBearer.dll
E:\Studia\Pracownia programowania\git\study-lib-backend\bin\Debug\net5.0\Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll
E:\Studia\Pracownia programowania\git\study-lib-backend\bin\Debug\net5.0\Microsoft.AspNetCore.Identity.UI.Views.V4.dll
E:\Studia\Pracownia programowania\git\study-lib-backend\bin\Debug\net5.0\Microsoft.AspNetCore.Identity.UI.dll
E:\Studia\Pracownia programowania\git\study-lib-backend\obj\Debug\net5.0\StudyLib.MvcApplicationPartsAssemblyInfo.cs

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
6c5d918e2f907c1c65ee70765a909593a5ad1f93

View File

@ -1 +1,3 @@
<StaticWebAssets Version="1.0" />
<StaticWebAssets Version="1.0">
<ContentRoot BasePath="/Identity" Path="C:\Users\Jakub\.nuget\packages\microsoft.aspnetcore.identity.ui\5.0.0\staticwebassets\V4\" />
</StaticWebAssets>

View File

@ -44,6 +44,18 @@
"net5.0": {
"targetAlias": "net5.0",
"dependencies": {
"Microsoft.AspNetCore.Authentication.JwtBearer": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.AspNetCore.Identity.UI": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": {
"target": "Package",
"version": "[5.0.0, )"
@ -66,6 +78,18 @@
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.Extensions.Identity.Core": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.Extensions.Identity.Stores": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.VisualStudio.Web.CodeGeneration.Design": {
"target": "Package",
"version": "[5.0.0, )"

View File

@ -17,6 +17,7 @@
</PropertyGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design\5.0.0\build\netcoreapp3.0\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design\5.0.0\build\netcoreapp3.0\Microsoft.EntityFrameworkCore.Design.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.identity.ui\5.0.0\buildTransitive\Microsoft.AspNetCore.Identity.UI.props" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.identity.ui\5.0.0\buildTransitive\Microsoft.AspNetCore.Identity.UI.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\Jakub\.nuget\packages\microsoft.codeanalysis.analyzers\3.0.0</PkgMicrosoft_CodeAnalysis_Analyzers>

View File

@ -3,4 +3,7 @@
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.identity.ui\5.0.0\buildTransitive\Microsoft.AspnetCore.Identity.UI.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.identity.ui\5.0.0\buildTransitive\Microsoft.AspnetCore.Identity.UI.targets')" />
</ImportGroup>
</Project>

View File

@ -11,6 +11,42 @@
"lib/netstandard2.0/Humanizer.dll": {}
}
},
"Microsoft.AspNetCore.Authentication.JwtBearer/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.7.1"
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll": {}
},
"frameworkReferences": [
"Microsoft.AspNetCore.App"
]
},
"Microsoft.AspNetCore.Cryptography.Internal/5.0.0": {
"type": "package",
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {}
}
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "5.0.0"
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {}
}
},
"Microsoft.AspNetCore.Html.Abstractions/2.2.0": {
"type": "package",
"dependencies": {
@ -23,6 +59,45 @@
"lib/netstandard2.0/Microsoft.AspNetCore.Html.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "5.0.0",
"Microsoft.Extensions.Identity.Stores": "5.0.0"
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {}
}
},
"Microsoft.AspNetCore.Identity.UI/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.FileProviders.Embedded": "5.0.0",
"Microsoft.Extensions.Identity.Stores": "5.0.0"
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll": {},
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll": {},
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.dll": {}
},
"frameworkReferences": [
"Microsoft.AspNetCore.App"
],
"build": {
"buildTransitive/Microsoft.AspNetCore.Identity.UI.props": {},
"buildTransitive/Microsoft.AspnetCore.Identity.UI.targets": {}
},
"buildMultiTargeting": {
"buildMultiTargeting/Microsoft.AspNetCore.Identity.UI.props": {},
"buildMultiTargeting/Microsoft.AspnetCore.Identity.UI.targets": {}
}
},
"Microsoft.AspNetCore.JsonPatch/5.0.0": {
"type": "package",
"dependencies": {
@ -627,6 +702,64 @@
"lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": {}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "5.0.0"
},
"compile": {
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {}
}
},
"Microsoft.Extensions.FileProviders.Embedded/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "5.0.0"
},
"compile": {
"lib/net5.0/Microsoft.Extensions.FileProviders.Embedded.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.FileProviders.Embedded.dll": {}
},
"build": {
"build/netstandard2.0/_._": {}
},
"buildMultiTargeting": {
"buildMultiTargeting/_._": {}
}
},
"Microsoft.Extensions.Identity.Core/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "5.0.0",
"Microsoft.Extensions.Logging": "5.0.0",
"Microsoft.Extensions.Options": "5.0.0"
},
"compile": {
"lib/net5.0/Microsoft.Extensions.Identity.Core.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.Identity.Core.dll": {}
}
},
"Microsoft.Extensions.Identity.Stores/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "5.0.0",
"Microsoft.Extensions.Identity.Core": "5.0.0",
"Microsoft.Extensions.Logging": "5.0.0"
},
"compile": {
"lib/net5.0/Microsoft.Extensions.Identity.Stores.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.Identity.Stores.dll": {}
}
},
"Microsoft.Extensions.Logging/5.0.0": {
"type": "package",
"dependencies": {
@ -693,11 +826,10 @@
"lib/netcoreapp2.1/Microsoft.Identity.Client.dll": {}
}
},
"Microsoft.IdentityModel.JsonWebTokens/5.6.0": {
"Microsoft.IdentityModel.JsonWebTokens/6.7.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.Tokens": "5.6.0",
"Newtonsoft.Json": "10.0.1"
"Microsoft.IdentityModel.Tokens": "6.7.1"
},
"compile": {
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {}
@ -706,7 +838,7 @@
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {}
}
},
"Microsoft.IdentityModel.Logging/5.6.0": {
"Microsoft.IdentityModel.Logging/6.7.1": {
"type": "package",
"compile": {
"lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": {}
@ -715,11 +847,11 @@
"lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": {}
}
},
"Microsoft.IdentityModel.Protocols/5.6.0": {
"Microsoft.IdentityModel.Protocols/6.7.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.Logging": "5.6.0",
"Microsoft.IdentityModel.Tokens": "5.6.0"
"Microsoft.IdentityModel.Logging": "6.7.1",
"Microsoft.IdentityModel.Tokens": "6.7.1"
},
"compile": {
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": {}
@ -728,12 +860,11 @@
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": {}
}
},
"Microsoft.IdentityModel.Protocols.OpenIdConnect/5.6.0": {
"Microsoft.IdentityModel.Protocols.OpenIdConnect/6.7.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.Protocols": "5.6.0",
"Newtonsoft.Json": "10.0.1",
"System.IdentityModel.Tokens.Jwt": "5.6.0"
"Microsoft.IdentityModel.Protocols": "6.7.1",
"System.IdentityModel.Tokens.Jwt": "6.7.1"
},
"compile": {
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {}
@ -742,11 +873,11 @@
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {}
}
},
"Microsoft.IdentityModel.Tokens/5.6.0": {
"Microsoft.IdentityModel.Tokens/6.7.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.Logging": "5.6.0",
"Newtonsoft.Json": "10.0.1",
"Microsoft.CSharp": "4.5.0",
"Microsoft.IdentityModel.Logging": "6.7.1",
"System.Security.Cryptography.Cng": "4.5.0"
},
"compile": {
@ -1432,12 +1563,11 @@
}
}
},
"System.IdentityModel.Tokens.Jwt/5.6.0": {
"System.IdentityModel.Tokens.Jwt/6.7.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.JsonWebTokens": "5.6.0",
"Microsoft.IdentityModel.Tokens": "5.6.0",
"Newtonsoft.Json": "10.0.1"
"Microsoft.IdentityModel.JsonWebTokens": "6.7.1",
"Microsoft.IdentityModel.Tokens": "6.7.1"
},
"compile": {
"lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": {}
@ -2233,6 +2363,59 @@
"logo.png"
]
},
"Microsoft.AspNetCore.Authentication.JwtBearer/5.0.0": {
"sha512": "26WlfJsOB4QP3VsEVu5GGDSGm5wu6ikQqRUOaZ3BUmyGcMWsD28xFxPxFw4OszYgKpj54QYlyec19KcrEGkqDw==",
"type": "package",
"path": "microsoft.aspnetcore.authentication.jwtbearer/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll",
"lib/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.xml",
"microsoft.aspnetcore.authentication.jwtbearer.5.0.0.nupkg.sha512",
"microsoft.aspnetcore.authentication.jwtbearer.nuspec"
]
},
"Microsoft.AspNetCore.Cryptography.Internal/5.0.0": {
"sha512": "2m4F3sQQhPa13Fe9/4wL2sXS8Hrx/zTd4J04ZsnnfeoCzQbAwpNW2m4+d+/UU4yXLYxsph9amNXtGZ0QSFOSvA==",
"type": "package",
"path": "microsoft.aspnetcore.cryptography.internal/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net461/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/net5.0/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net5.0/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.xml",
"microsoft.aspnetcore.cryptography.internal.5.0.0.nupkg.sha512",
"microsoft.aspnetcore.cryptography.internal.nuspec"
]
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/5.0.0": {
"sha512": "xya2ZtBQFJlW4P+Q7pkwfnAkMcPuR7QNpWioefMye/aOIoGaW8Ul5KTXalCqSd3MMiWzHcJvd+eH9ZPIaj2N/w==",
"type": "package",
"path": "microsoft.aspnetcore.cryptography.keyderivation/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/net461/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"lib/net5.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/net5.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"microsoft.aspnetcore.cryptography.keyderivation.5.0.0.nupkg.sha512",
"microsoft.aspnetcore.cryptography.keyderivation.nuspec"
]
},
"Microsoft.AspNetCore.Html.Abstractions/2.2.0": {
"sha512": "Y4rs5aMEXY8G7wJo5S3EEt6ltqyOTr/qOeZzfn+hw/fuQj5GppGckMY5psGLETo1U9hcT5MmAhaT5xtusM1b5g==",
"type": "package",
@ -2246,6 +2429,81 @@
"microsoft.aspnetcore.html.abstractions.nuspec"
]
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/5.0.0": {
"sha512": "AfAFu+ndWsohAwIdek489Xi0kAAKQ8j6x/Q1e3sAHpfy9Keraj6tPp0tpjh8VeQJb1TlMcuiqJGxatgEGiN1IA==",
"type": "package",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll",
"lib/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.xml",
"lib/netstandard2.1/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll",
"lib/netstandard2.1/Microsoft.AspNetCore.Identity.EntityFrameworkCore.xml",
"microsoft.aspnetcore.identity.entityframeworkcore.5.0.0.nupkg.sha512",
"microsoft.aspnetcore.identity.entityframeworkcore.nuspec"
]
},
"Microsoft.AspNetCore.Identity.UI/5.0.0": {
"sha512": "2rx9bkkecYW5/Qp74CeteE3FS930kgTSg4nSiuVXRvf95ZXu+BQDTNKfngi1FDaqSfHbicxnyvMRLtEPYWEcVA==",
"type": "package",
"path": "microsoft.aspnetcore.identity.ui/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"build/Microsoft.AspNetCore.Identity.UI.props",
"build/Microsoft.AspnetCore.Identity.UI.targets",
"buildMultiTargeting/Microsoft.AspNetCore.Identity.UI.props",
"buildMultiTargeting/Microsoft.AspnetCore.Identity.UI.targets",
"buildTransitive/Microsoft.AspNetCore.Identity.UI.props",
"buildTransitive/Microsoft.AspnetCore.Identity.UI.targets",
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll",
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.dll",
"lib/net5.0/Microsoft.AspNetCore.Identity.UI.xml",
"microsoft.aspnetcore.identity.ui.5.0.0.nupkg.sha512",
"microsoft.aspnetcore.identity.ui.nuspec",
"staticwebassets/V4/css/site.css",
"staticwebassets/V4/favicon.ico",
"staticwebassets/V4/js/site.js",
"staticwebassets/V4/lib/bootstrap/LICENSE/LICENSE",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap-grid.css",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap-grid.css.map",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap-grid.min.css",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap-grid.min.css.map",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap-reboot.css",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap-reboot.css.map",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap-reboot.min.css",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap.css",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap.css.map",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap.min.css",
"staticwebassets/V4/lib/bootstrap/dist/css/bootstrap.min.css.map",
"staticwebassets/V4/lib/bootstrap/dist/js/bootstrap.bundle.js",
"staticwebassets/V4/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
"staticwebassets/V4/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
"staticwebassets/V4/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
"staticwebassets/V4/lib/bootstrap/dist/js/bootstrap.js",
"staticwebassets/V4/lib/bootstrap/dist/js/bootstrap.js.map",
"staticwebassets/V4/lib/bootstrap/dist/js/bootstrap.min.js",
"staticwebassets/V4/lib/bootstrap/dist/js/bootstrap.min.js.map",
"staticwebassets/V4/lib/jquery-validation-unobtrusive/LICENSE.txt",
"staticwebassets/V4/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js",
"staticwebassets/V4/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js",
"staticwebassets/V4/lib/jquery-validation/LICENSE.md",
"staticwebassets/V4/lib/jquery-validation/dist/additional-methods.js",
"staticwebassets/V4/lib/jquery-validation/dist/additional-methods.min.js",
"staticwebassets/V4/lib/jquery-validation/dist/jquery.validate.js",
"staticwebassets/V4/lib/jquery-validation/dist/jquery.validate.min.js",
"staticwebassets/V4/lib/jquery/LICENSE.txt",
"staticwebassets/V4/lib/jquery/dist/jquery.js",
"staticwebassets/V4/lib/jquery/dist/jquery.min.js",
"staticwebassets/V4/lib/jquery/dist/jquery.min.map"
]
},
"Microsoft.AspNetCore.JsonPatch/5.0.0": {
"sha512": "oy/fvnBHpofNPskGcCrzZv1AhY36YHV0lyWy9NC5ye5eHvEJeJsSKjn2fNk/j1lXOuF13H9qrvZrA9zNkymy5Q==",
"type": "package",
@ -3087,6 +3345,87 @@
"version.txt"
]
},
"Microsoft.Extensions.FileProviders.Abstractions/5.0.0": {
"sha512": "iuZIiZ3mteEb+nsUqpGXKx2cGF+cv6gWPd5jqQI4hzqdiJ6I94ddLjKhQOuRW1lueHwocIw30xbSHGhQj0zjdQ==",
"type": "package",
"path": "microsoft.extensions.fileproviders.abstractions/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.FileProviders.Abstractions.dll",
"lib/net461/Microsoft.Extensions.FileProviders.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
"microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg.sha512",
"microsoft.extensions.fileproviders.abstractions.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.Extensions.FileProviders.Embedded/5.0.0": {
"sha512": "2Of7fsjZi1UilxtZMHKchQqdzXxwAxjGhRvmQI1ih5+Oq+xWVHlNrJdIXMYf7u0Z7aVlHZfKOH8sNGfyH4ZRNw==",
"type": "package",
"path": "microsoft.extensions.fileproviders.embedded/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"build/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.props",
"build/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.targets",
"buildMultiTargeting/Microsoft.Extensions.FileProviders.Embedded.props",
"buildMultiTargeting/Microsoft.Extensions.FileProviders.Embedded.targets",
"lib/net461/Microsoft.Extensions.FileProviders.Embedded.dll",
"lib/net461/Microsoft.Extensions.FileProviders.Embedded.xml",
"lib/net5.0/Microsoft.Extensions.FileProviders.Embedded.dll",
"lib/net5.0/Microsoft.Extensions.FileProviders.Embedded.xml",
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.dll",
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.xml",
"microsoft.extensions.fileproviders.embedded.5.0.0.nupkg.sha512",
"microsoft.extensions.fileproviders.embedded.nuspec",
"tasks/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.dll"
]
},
"Microsoft.Extensions.Identity.Core/5.0.0": {
"sha512": "LR8gFg/snKoHJ1J3/Z5A93rD+p4EFhMSTci188wPTlHUqeaYIBG/3RkR9TXSPzLUYAkZjaghqy+9pjQOehRv1g==",
"type": "package",
"path": "microsoft.extensions.identity.core/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Identity.Core.dll",
"lib/net461/Microsoft.Extensions.Identity.Core.xml",
"lib/net5.0/Microsoft.Extensions.Identity.Core.dll",
"lib/net5.0/Microsoft.Extensions.Identity.Core.xml",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Core.dll",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Core.xml",
"microsoft.extensions.identity.core.5.0.0.nupkg.sha512",
"microsoft.extensions.identity.core.nuspec"
]
},
"Microsoft.Extensions.Identity.Stores/5.0.0": {
"sha512": "st2HhRAgK14xK070mWIWWB1jKL1oEG2nKixicFARo3FMBFoj9PSwaNdPApFvtfU7L5KQgviMR1DFep+JfGcpEg==",
"type": "package",
"path": "microsoft.extensions.identity.stores/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Identity.Stores.dll",
"lib/net461/Microsoft.Extensions.Identity.Stores.xml",
"lib/net5.0/Microsoft.Extensions.Identity.Stores.dll",
"lib/net5.0/Microsoft.Extensions.Identity.Stores.xml",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Stores.dll",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Stores.xml",
"microsoft.extensions.identity.stores.5.0.0.nupkg.sha512",
"microsoft.extensions.identity.stores.nuspec"
]
},
"Microsoft.Extensions.Logging/5.0.0": {
"sha512": "MgOwK6tPzB6YNH21wssJcw/2MKwee8b2gI7SllYfn6rvTpIrVvVS5HAjSU2vqSku1fwqRvWP0MdIi14qjd93Aw==",
"type": "package",
@ -3213,108 +3552,88 @@
"ref/xamarinmac20/Microsoft.Identity.Client.xml"
]
},
"Microsoft.IdentityModel.JsonWebTokens/5.6.0": {
"sha512": "0q0U1W+gX1jmfmv7uU7GXFGB518atmSwucxsVwPGpuaGS3jwd2tUi+Gau+ezxR6oAFEBFKG9lz/fxRZzGMeDXg==",
"Microsoft.IdentityModel.JsonWebTokens/6.7.1": {
"sha512": "q/Ii8ILV8cM1X49gnl12cJK+0KWiI1xUeiLYiE9+uRonJLaHWB0l8t89rGnZTEGthGKItyikKSB38LQpfy/zBw==",
"type": "package",
"path": "microsoft.identitymodel.jsonwebtokens/5.6.0",
"path": "microsoft.identitymodel.jsonwebtokens/6.7.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/net45/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/net451/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/net451/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/net461/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/netstandard1.4/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/netstandard1.4/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml",
"microsoft.identitymodel.jsonwebtokens.5.6.0.nupkg.sha512",
"microsoft.identitymodel.jsonwebtokens.6.7.1.nupkg.sha512",
"microsoft.identitymodel.jsonwebtokens.nuspec"
]
},
"Microsoft.IdentityModel.Logging/5.6.0": {
"sha512": "zEDrfEVW5x5w2hbTV94WwAcWvtue5hNTXYqoPh3ypF6U8csm09JazEYy+VPp2RtczkyMfcsvWY9Fea17e+isYQ==",
"Microsoft.IdentityModel.Logging/6.7.1": {
"sha512": "WGtTiTy2ZikOz/I5GxCGbNPLOpyI9fPyuyG4Q5rfkhACK+Q0Ad6U8XajYZ2cJ2cFKse0IvHwm15HVrfwrX/89g==",
"type": "package",
"path": "microsoft.identitymodel.logging/5.6.0",
"path": "microsoft.identitymodel.logging/6.7.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/Microsoft.IdentityModel.Logging.dll",
"lib/net45/Microsoft.IdentityModel.Logging.xml",
"lib/net451/Microsoft.IdentityModel.Logging.dll",
"lib/net451/Microsoft.IdentityModel.Logging.xml",
"lib/net461/Microsoft.IdentityModel.Logging.dll",
"lib/net461/Microsoft.IdentityModel.Logging.xml",
"lib/netstandard1.4/Microsoft.IdentityModel.Logging.dll",
"lib/netstandard1.4/Microsoft.IdentityModel.Logging.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml",
"microsoft.identitymodel.logging.5.6.0.nupkg.sha512",
"microsoft.identitymodel.logging.6.7.1.nupkg.sha512",
"microsoft.identitymodel.logging.nuspec"
]
},
"Microsoft.IdentityModel.Protocols/5.6.0": {
"sha512": "ei7YqYx0pIFL6JjK8ZnPK0MXZRWUNHtJPUl3KqSvj9+2f5CMa6GRSEC+BMDHr17tP6yujYUg0IQOcKzmC7qN5g==",
"Microsoft.IdentityModel.Protocols/6.7.1": {
"sha512": "DVGYIRUK3TkCTmz0IgBzWUE55CDNfLtXil1FgSbgHI7hi2fP2pz4tiTAno/5O/hdVwAzV+HtCQtFi7xW8smaHw==",
"type": "package",
"path": "microsoft.identitymodel.protocols/5.6.0",
"path": "microsoft.identitymodel.protocols/6.7.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/Microsoft.IdentityModel.Protocols.dll",
"lib/net45/Microsoft.IdentityModel.Protocols.xml",
"lib/net451/Microsoft.IdentityModel.Protocols.dll",
"lib/net451/Microsoft.IdentityModel.Protocols.xml",
"lib/net461/Microsoft.IdentityModel.Protocols.dll",
"lib/net461/Microsoft.IdentityModel.Protocols.xml",
"lib/netstandard1.4/Microsoft.IdentityModel.Protocols.dll",
"lib/netstandard1.4/Microsoft.IdentityModel.Protocols.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.xml",
"microsoft.identitymodel.protocols.5.6.0.nupkg.sha512",
"microsoft.identitymodel.protocols.6.7.1.nupkg.sha512",
"microsoft.identitymodel.protocols.nuspec"
]
},
"Microsoft.IdentityModel.Protocols.OpenIdConnect/5.6.0": {
"sha512": "yh3n+uXiwpBy/5+t67tYcmRxb9kwQdaKRyG/DNipRMF37bg5Jr0vENOo1BQz6OySMl5WIK544SzPjtr7/KkucA==",
"Microsoft.IdentityModel.Protocols.OpenIdConnect/6.7.1": {
"sha512": "99gA+E6ZOCqySrT80Yh6wrfjJfeMxDisdAcA5Q66zHxMPY5Gzc8aT2Ldzu0GP1sADv/o3yI1Gc3P1GHXlXAVVQ==",
"type": "package",
"path": "microsoft.identitymodel.protocols.openidconnect/5.6.0",
"path": "microsoft.identitymodel.protocols.openidconnect/6.7.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll",
"lib/net45/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml",
"lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll",
"lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml",
"lib/net461/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll",
"lib/net461/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml",
"lib/netstandard1.4/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll",
"lib/netstandard1.4/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml",
"microsoft.identitymodel.protocols.openidconnect.5.6.0.nupkg.sha512",
"microsoft.identitymodel.protocols.openidconnect.6.7.1.nupkg.sha512",
"microsoft.identitymodel.protocols.openidconnect.nuspec"
]
},
"Microsoft.IdentityModel.Tokens/5.6.0": {
"sha512": "C3OqR3QfBQ7wcC7yAsdMQqay87OsV6yWPYG/Ai3n7dvmWIGkouQhXoVxRP0xz3cAFL4hxZBXyw4aLTC421PaMg==",
"Microsoft.IdentityModel.Tokens/6.7.1": {
"sha512": "Td9Vn9d/0eM1zlUUvaVQzjqdBkBLJ2oGtGL/LYPuiCUAALMeAHVDtpXGk8eYI8Gbduz5n+o7ifldsCIca4MWew==",
"type": "package",
"path": "microsoft.identitymodel.tokens/5.6.0",
"path": "microsoft.identitymodel.tokens/6.7.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/Microsoft.IdentityModel.Tokens.dll",
"lib/net45/Microsoft.IdentityModel.Tokens.xml",
"lib/net451/Microsoft.IdentityModel.Tokens.dll",
"lib/net451/Microsoft.IdentityModel.Tokens.xml",
"lib/net461/Microsoft.IdentityModel.Tokens.dll",
"lib/net461/Microsoft.IdentityModel.Tokens.xml",
"lib/netstandard1.4/Microsoft.IdentityModel.Tokens.dll",
"lib/netstandard1.4/Microsoft.IdentityModel.Tokens.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml",
"microsoft.identitymodel.tokens.5.6.0.nupkg.sha512",
"microsoft.identitymodel.tokens.6.7.1.nupkg.sha512",
"microsoft.identitymodel.tokens.nuspec"
]
},
@ -4942,24 +5261,20 @@
"system.globalization.extensions.nuspec"
]
},
"System.IdentityModel.Tokens.Jwt/5.6.0": {
"sha512": "KMvPpX4exs2fe7Upq5zHMSR4yupc+jy8WG8yjucZL0XvT+r/T0hRvLIe9fP/SeN8/UVxFYBRAkRI5k1zbRGqmA==",
"System.IdentityModel.Tokens.Jwt/6.7.1": {
"sha512": "sPnRn9dUMYARQC3mAKWpig/7rlrruqJvopKXmGoYAQ1A+xQsT3q5LiwsArkV8Oz/hfiRCLkV9vgi3FQg/mYfrw==",
"type": "package",
"path": "system.identitymodel.tokens.jwt/5.6.0",
"path": "system.identitymodel.tokens.jwt/6.7.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/System.IdentityModel.Tokens.Jwt.dll",
"lib/net45/System.IdentityModel.Tokens.Jwt.xml",
"lib/net451/System.IdentityModel.Tokens.Jwt.dll",
"lib/net451/System.IdentityModel.Tokens.Jwt.xml",
"lib/net461/System.IdentityModel.Tokens.Jwt.dll",
"lib/net461/System.IdentityModel.Tokens.Jwt.xml",
"lib/netstandard1.4/System.IdentityModel.Tokens.Jwt.dll",
"lib/netstandard1.4/System.IdentityModel.Tokens.Jwt.xml",
"lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll",
"lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml",
"system.identitymodel.tokens.jwt.5.6.0.nupkg.sha512",
"system.identitymodel.tokens.jwt.6.7.1.nupkg.sha512",
"system.identitymodel.tokens.jwt.nuspec"
]
},
@ -7502,11 +7817,17 @@
},
"projectFileDependencyGroups": {
"net5.0": [
"Microsoft.AspNetCore.Authentication.JwtBearer >= 5.0.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore >= 5.0.0",
"Microsoft.AspNetCore.Identity.UI >= 5.0.0",
"Microsoft.AspNetCore.Mvc.NewtonsoftJson >= 5.0.0",
"Microsoft.EntityFrameworkCore >= 5.0.0",
"Microsoft.EntityFrameworkCore.SqlServer >= 5.0.0",
"Microsoft.EntityFrameworkCore.Sqlite >= 5.0.0",
"Microsoft.EntityFrameworkCore.Tools >= 5.0.0",
"Microsoft.Extensions.DependencyInjection >= 5.0.0",
"Microsoft.Extensions.Identity.Core >= 5.0.0",
"Microsoft.Extensions.Identity.Stores >= 5.0.0",
"Microsoft.VisualStudio.Web.CodeGeneration.Design >= 5.0.0"
]
},
@ -7554,6 +7875,18 @@
"net5.0": {
"targetAlias": "net5.0",
"dependencies": {
"Microsoft.AspNetCore.Authentication.JwtBearer": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.AspNetCore.Identity.UI": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": {
"target": "Package",
"version": "[5.0.0, )"
@ -7576,6 +7909,18 @@
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.Extensions.Identity.Core": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.Extensions.Identity.Stores": {
"target": "Package",
"version": "[5.0.0, )"
},
"Microsoft.VisualStudio.Web.CodeGeneration.Design": {
"target": "Package",
"version": "[5.0.0, )"

View File

@ -1,11 +1,16 @@
{
"version": 2,
"dgSpecHash": "jHZJSvMCjWAXxRC5Psnr/CUQY6L4fHmFsOosOZlWZOxYhVabz28RC2n8noJnRimvSjDly9cP7pZvGFzM1O/UDg==",
"dgSpecHash": "FL12xMdG+/mtr7L34fObk3bKBDB8NPrz2WT5ZXGFHACN3fczKcU191HzVWoM8tQhEg9Lujo1AjS8tlM+UAAHXA==",
"success": true,
"projectFilePath": "E:\\Studia\\Pracownia programowania\\git\\study-lib-backend\\StudyLib.csproj",
"expectedPackageFiles": [
"C:\\Users\\Jakub\\.nuget\\packages\\humanizer.core\\2.8.26\\humanizer.core.2.8.26.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.authentication.jwtbearer\\5.0.0\\microsoft.aspnetcore.authentication.jwtbearer.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\5.0.0\\microsoft.aspnetcore.cryptography.internal.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\5.0.0\\microsoft.aspnetcore.cryptography.keyderivation.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.html.abstractions\\2.2.0\\microsoft.aspnetcore.html.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\5.0.0\\microsoft.aspnetcore.identity.entityframeworkcore.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.identity.ui\\5.0.0\\microsoft.aspnetcore.identity.ui.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\5.0.0\\microsoft.aspnetcore.jsonpatch.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.mvc.newtonsoftjson\\5.0.0\\microsoft.aspnetcore.mvc.newtonsoftjson.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.aspnetcore.razor\\2.2.0\\microsoft.aspnetcore.razor.2.2.0.nupkg.sha512",
@ -38,16 +43,20 @@
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.0\\microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.dependencymodel\\5.0.0\\microsoft.extensions.dependencymodel.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\5.0.0\\microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.fileproviders.embedded\\5.0.0\\microsoft.extensions.fileproviders.embedded.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.identity.core\\5.0.0\\microsoft.extensions.identity.core.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.identity.stores\\5.0.0\\microsoft.extensions.identity.stores.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.0\\microsoft.extensions.primitives.5.0.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identity.client\\4.14.0\\microsoft.identity.client.4.14.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\5.6.0\\microsoft.identitymodel.jsonwebtokens.5.6.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.logging\\5.6.0\\microsoft.identitymodel.logging.5.6.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.protocols\\5.6.0\\microsoft.identitymodel.protocols.5.6.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\5.6.0\\microsoft.identitymodel.protocols.openidconnect.5.6.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.tokens\\5.6.0\\microsoft.identitymodel.tokens.5.6.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.7.1\\microsoft.identitymodel.jsonwebtokens.6.7.1.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.logging\\6.7.1\\microsoft.identitymodel.logging.6.7.1.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.protocols\\6.7.1\\microsoft.identitymodel.protocols.6.7.1.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.7.1\\microsoft.identitymodel.protocols.openidconnect.6.7.1.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.7.1\\microsoft.identitymodel.tokens.6.7.1.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.netcore.platforms\\3.1.0\\microsoft.netcore.platforms.3.1.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.netcore.targets\\1.1.3\\microsoft.netcore.targets.1.1.3.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\microsoft.visualstudio.web.codegeneration\\5.0.0\\microsoft.visualstudio.web.codegeneration.5.0.0.nupkg.sha512",
@ -90,7 +99,7 @@
"C:\\Users\\Jakub\\.nuget\\packages\\system.drawing.common\\4.7.0\\system.drawing.common.4.7.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\system.globalization.extensions\\4.3.0\\system.globalization.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\system.identitymodel.tokens.jwt\\5.6.0\\system.identitymodel.tokens.jwt.5.6.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.7.1\\system.identitymodel.tokens.jwt.6.7.1.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512",
"C:\\Users\\Jakub\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512",