diff --git a/.vs/StudyLib/DesignTimeBuild/.dtbcache.v2 b/.vs/StudyLib/DesignTimeBuild/.dtbcache.v2 index 6433f69..a6a2fc9 100644 Binary files a/.vs/StudyLib/DesignTimeBuild/.dtbcache.v2 and b/.vs/StudyLib/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/StudyLib/v16/.suo b/.vs/StudyLib/v16/.suo index af64024..c97ee57 100644 Binary files a/.vs/StudyLib/v16/.suo and b/.vs/StudyLib/v16/.suo differ diff --git a/API/Controllers/UserProfilesController.cs b/API/Controllers/UserProfilesController.cs new file mode 100644 index 0000000..35ac427 --- /dev/null +++ b/API/Controllers/UserProfilesController.cs @@ -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 _userManager; + + public UserProfilesController(UserManager userManager) + { + _userManager = userManager; + } + + [HttpGet] + [Authorize] + public async Task GetUserProfile() + { + string userId = User.Claims.First(c => c.Type == "UserID").Value; + var user = await _userManager.FindByIdAsync(userId); + return user; + } + } +} diff --git a/API/Controllers/UsersController.cs b/API/Controllers/UsersController.cs new file mode 100644 index 0000000..b534a8a --- /dev/null +++ b/API/Controllers/UsersController.cs @@ -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 _userManager; + private SignInManager _signInManager; + private readonly ApplicationSettings _appSettings; + + public UsersController(UserManager userManager, SignInManager signInManager, IOptions appSettings ) + { + _userManager = userManager; + _signInManager = signInManager; + _appSettings = appSettings.Value; + } + + [HttpPost("register")] + public async Task> 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> 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"); + } + + } + + + } +} diff --git a/API/Data/StudyLibContext.cs b/API/Data/StudyLibContext.cs index d3829e0..9e1c62a 100644 --- a/API/Data/StudyLibContext.cs +++ b/API/Data/StudyLibContext.cs @@ -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 options) : base(options) { diff --git a/API/Models/ApplicationSettings.cs b/API/Models/ApplicationSettings.cs new file mode 100644 index 0000000..1d158fd --- /dev/null +++ b/API/Models/ApplicationSettings.cs @@ -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; } + } +} diff --git a/API/Models/Login.cs b/API/Models/Login.cs new file mode 100644 index 0000000..ca02f5a --- /dev/null +++ b/API/Models/Login.cs @@ -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; } + } +} diff --git a/API/Models/User.cs b/API/Models/User.cs new file mode 100644 index 0000000..224e876 --- /dev/null +++ b/API/Models/User.cs @@ -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; } + } +} diff --git a/Migrations/20201215203255_AddedUser.Designer.cs b/Migrations/20201215203255_AddedUser.Designer.cs new file mode 100644 index 0000000..f6c2b71 --- /dev/null +++ b/Migrations/20201215203255_AddedUser.Designer.cs @@ -0,0 +1,454 @@ +// +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("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("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", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .UseIdentityColumn(); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => + { + b.Property("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("LockoutEnabled") + .HasColumnType("bit"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("PasswordHash") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("bit"); + + b.Property("SecurityStamp") + .HasColumnType("nvarchar(max)"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit"); + + b.Property("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", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .UseIdentityColumn(); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderDisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("nvarchar(450)"); + + b.Property("RoleId") + .HasColumnType("nvarchar(450)"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("nvarchar(450)"); + + b.Property("LoginProvider") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens"); + }); + + modelBuilder.Entity("StudyLib.API.Models.Comment", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .UseIdentityColumn(); + + b.Property("SubjectId") + .HasColumnType("bigint"); + + b.Property("Text") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("SubjectId"); + + b.ToTable("Comments"); + }); + + modelBuilder.Entity("StudyLib.API.Models.SubjectDeleteRequest", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .UseIdentityColumn(); + + b.Property("SubjectId") + .HasColumnType("bigint"); + + b.HasKey("ID"); + + b.HasIndex("SubjectId"); + + b.ToTable("SubjectDeleteRequests"); + }); + + modelBuilder.Entity("StudyLib.Models.Assignment", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .UseIdentityColumn(); + + b.Property("Deadline") + .HasColumnType("datetime2"); + + b.Property("Description") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("FinalMarkPercent") + .HasColumnType("float"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectId") + .HasColumnType("bigint"); + + b.HasKey("ID"); + + b.HasIndex("SubjectId"); + + b.ToTable("Assignments"); + }); + + modelBuilder.Entity("StudyLib.Models.Subject", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .UseIdentityColumn(); + + b.Property("ExamDate") + .HasColumnType("datetime2"); + + b.Property("LabTeacher") + .HasColumnType("nvarchar(max)"); + + b.Property("LectureTeacher") + .HasColumnType("nvarchar(max)"); + + b.Property("MainExam") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Subjects"); + }); + + modelBuilder.Entity("StudyLib.Models.Test", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .UseIdentityColumn(); + + b.Property("Date") + .HasColumnType("datetime2"); + + b.Property("FinalMarkPercent") + .HasColumnType("float"); + + b.Property("Scope") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectId") + .HasColumnType("bigint"); + + b.HasKey("ID"); + + b.HasIndex("SubjectId"); + + b.ToTable("Tests"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", 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", 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 + } + } +} diff --git a/Migrations/20201215203255_AddedUser.cs b/Migrations/20201215203255_AddedUser.cs new file mode 100644 index 0000000..2d87d14 --- /dev/null +++ b/Migrations/20201215203255_AddedUser.cs @@ -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(type: "nvarchar(450)", nullable: false), + Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + NormalizedName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetRoles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AspNetUsers", + columns: table => new + { + Id = table.Column(type: "nvarchar(450)", nullable: false), + UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + NormalizedUserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + Email = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + NormalizedEmail = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + EmailConfirmed = table.Column(type: "bit", nullable: false), + PasswordHash = table.Column(type: "nvarchar(max)", nullable: true), + SecurityStamp = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(max)", nullable: true), + PhoneNumber = table.Column(type: "nvarchar(max)", nullable: true), + PhoneNumberConfirmed = table.Column(type: "bit", nullable: false), + TwoFactorEnabled = table.Column(type: "bit", nullable: false), + LockoutEnd = table.Column(type: "datetimeoffset", nullable: true), + LockoutEnabled = table.Column(type: "bit", nullable: false), + AccessFailedCount = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUsers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AspNetRoleClaims", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + RoleId = table.Column(type: "nvarchar(450)", nullable: false), + ClaimType = table.Column(type: "nvarchar(max)", nullable: true), + ClaimValue = table.Column(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(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + UserId = table.Column(type: "nvarchar(450)", nullable: false), + ClaimType = table.Column(type: "nvarchar(max)", nullable: true), + ClaimValue = table.Column(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(type: "nvarchar(128)", maxLength: 128, nullable: false), + ProviderKey = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + ProviderDisplayName = table.Column(type: "nvarchar(max)", nullable: true), + UserId = table.Column(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(type: "nvarchar(450)", nullable: false), + RoleId = table.Column(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(type: "nvarchar(450)", nullable: false), + LoginProvider = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + Value = table.Column(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"); + } + } +} diff --git a/Migrations/StudyLibContextModelSnapshot.cs b/Migrations/StudyLibContextModelSnapshot.cs index 4771a8c..16ee2a7 100644 --- a/Migrations/StudyLibContextModelSnapshot.cs +++ b/Migrations/StudyLibContextModelSnapshot.cs @@ -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("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("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", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .UseIdentityColumn(); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => + { + b.Property("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("LockoutEnabled") + .HasColumnType("bit"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("PasswordHash") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("bit"); + + b.Property("SecurityStamp") + .HasColumnType("nvarchar(max)"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit"); + + b.Property("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", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .UseIdentityColumn(); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderDisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("nvarchar(450)"); + + b.Property("RoleId") + .HasColumnType("nvarchar(450)"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("nvarchar(450)"); + + b.Property("LoginProvider") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens"); + }); + modelBuilder.Entity("StudyLib.API.Models.Comment", b => { b.Property("ID") @@ -143,6 +343,57 @@ namespace StudyLib.Migrations b.ToTable("Tests"); }); + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", 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", 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") diff --git a/Startup.cs b/Startup.cs index 71294c9..ebbb927 100644 --- a/Startup.cs +++ b/Startup.cs @@ -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(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(options => options.UseSqlServer(Configuration.GetConnectionString("StudyLibContext"))); + services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true).AddEntityFrameworkStores(); + services.Configure(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 => diff --git a/StudyLib.csproj b/StudyLib.csproj index 96f9a48..50128cc 100644 --- a/StudyLib.csproj +++ b/StudyLib.csproj @@ -5,6 +5,9 @@ + + + @@ -13,6 +16,9 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/appsettings.json b/appsettings.json index ddbc733..7139cc4 100644 --- a/appsettings.json +++ b/appsettings.json @@ -9,5 +9,8 @@ "AllowedHosts": "*", "ConnectionStrings": { "StudyLibContext": "Server=DESKTOP-ON3C0C0;Database=StudyLibDB;Trusted_Connection=True;MultipleActiveResultSets=true" + }, + "ApplicationSettings": { + "JWTSecret": "1234567890123456789" } } diff --git a/bin/Debug/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll b/bin/Debug/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll new file mode 100644 index 0000000..28d8601 Binary files /dev/null and b/bin/Debug/net5.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll differ diff --git a/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll b/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll new file mode 100644 index 0000000..d2e454e Binary files /dev/null and b/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll differ diff --git a/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll b/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll new file mode 100644 index 0000000..6277f1f Binary files /dev/null and b/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll differ diff --git a/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.UI.dll b/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.UI.dll new file mode 100644 index 0000000..005e612 Binary files /dev/null and b/bin/Debug/net5.0/Microsoft.AspNetCore.Identity.UI.dll differ diff --git a/bin/Debug/net5.0/Microsoft.IdentityModel.JsonWebTokens.dll b/bin/Debug/net5.0/Microsoft.IdentityModel.JsonWebTokens.dll index e246717..cc68975 100644 Binary files a/bin/Debug/net5.0/Microsoft.IdentityModel.JsonWebTokens.dll and b/bin/Debug/net5.0/Microsoft.IdentityModel.JsonWebTokens.dll differ diff --git a/bin/Debug/net5.0/Microsoft.IdentityModel.Logging.dll b/bin/Debug/net5.0/Microsoft.IdentityModel.Logging.dll index fef3842..fadc550 100644 Binary files a/bin/Debug/net5.0/Microsoft.IdentityModel.Logging.dll and b/bin/Debug/net5.0/Microsoft.IdentityModel.Logging.dll differ diff --git a/bin/Debug/net5.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll b/bin/Debug/net5.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll index b92798b..aa8d36e 100644 Binary files a/bin/Debug/net5.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll and b/bin/Debug/net5.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll differ diff --git a/bin/Debug/net5.0/Microsoft.IdentityModel.Protocols.dll b/bin/Debug/net5.0/Microsoft.IdentityModel.Protocols.dll index 8bdabe2..736a9aa 100644 Binary files a/bin/Debug/net5.0/Microsoft.IdentityModel.Protocols.dll and b/bin/Debug/net5.0/Microsoft.IdentityModel.Protocols.dll differ diff --git a/bin/Debug/net5.0/Microsoft.IdentityModel.Tokens.dll b/bin/Debug/net5.0/Microsoft.IdentityModel.Tokens.dll index d651edf..515cf67 100644 Binary files a/bin/Debug/net5.0/Microsoft.IdentityModel.Tokens.dll and b/bin/Debug/net5.0/Microsoft.IdentityModel.Tokens.dll differ diff --git a/bin/Debug/net5.0/StudyLib.StaticWebAssets.xml b/bin/Debug/net5.0/StudyLib.StaticWebAssets.xml new file mode 100644 index 0000000..c96d372 --- /dev/null +++ b/bin/Debug/net5.0/StudyLib.StaticWebAssets.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/bin/Debug/net5.0/StudyLib.deps.json b/bin/Debug/net5.0/StudyLib.deps.json index 9d21922..a8bd242 100644 --- a/bin/Debug/net5.0/StudyLib.deps.json +++ b/bin/Debug/net5.0/StudyLib.deps.json @@ -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": "" diff --git a/bin/Debug/net5.0/StudyLib.dll b/bin/Debug/net5.0/StudyLib.dll index b72e0a8..8622cf5 100644 Binary files a/bin/Debug/net5.0/StudyLib.dll and b/bin/Debug/net5.0/StudyLib.dll differ diff --git a/bin/Debug/net5.0/StudyLib.pdb b/bin/Debug/net5.0/StudyLib.pdb index 7411d09..8c9cce0 100644 Binary files a/bin/Debug/net5.0/StudyLib.pdb and b/bin/Debug/net5.0/StudyLib.pdb differ diff --git a/bin/Debug/net5.0/System.IdentityModel.Tokens.Jwt.dll b/bin/Debug/net5.0/System.IdentityModel.Tokens.Jwt.dll index a605605..ccd58b4 100644 Binary files a/bin/Debug/net5.0/System.IdentityModel.Tokens.Jwt.dll and b/bin/Debug/net5.0/System.IdentityModel.Tokens.Jwt.dll differ diff --git a/bin/Debug/net5.0/appsettings.json b/bin/Debug/net5.0/appsettings.json index ddbc733..7139cc4 100644 --- a/bin/Debug/net5.0/appsettings.json +++ b/bin/Debug/net5.0/appsettings.json @@ -9,5 +9,8 @@ "AllowedHosts": "*", "ConnectionStrings": { "StudyLibContext": "Server=DESKTOP-ON3C0C0;Database=StudyLibDB;Trusted_Connection=True;MultipleActiveResultSets=true" + }, + "ApplicationSettings": { + "JWTSecret": "1234567890123456789" } } diff --git a/bin/Debug/net5.0/ref/StudyLib.dll b/bin/Debug/net5.0/ref/StudyLib.dll index 7a692da..3af96a3 100644 Binary files a/bin/Debug/net5.0/ref/StudyLib.dll and b/bin/Debug/net5.0/ref/StudyLib.dll differ diff --git a/obj/Debug/net5.0/StudyLib.AssemblyInfo.cs b/obj/Debug/net5.0/StudyLib.AssemblyInfo.cs index 20e76e9..c05b9cd 100644 --- a/obj/Debug/net5.0/StudyLib.AssemblyInfo.cs +++ b/obj/Debug/net5.0/StudyLib.AssemblyInfo.cs @@ -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")] diff --git a/obj/Debug/net5.0/StudyLib.AssemblyInfoInputs.cache b/obj/Debug/net5.0/StudyLib.AssemblyInfoInputs.cache index a093b7e..8606c57 100644 --- a/obj/Debug/net5.0/StudyLib.AssemblyInfoInputs.cache +++ b/obj/Debug/net5.0/StudyLib.AssemblyInfoInputs.cache @@ -1 +1 @@ -e12e2073c1f8dca5ecb610cd5a16900bb0a948ea +6013a8499874b988ee82e06277be31f1e957e1fb diff --git a/obj/Debug/net5.0/StudyLib.MvcApplicationPartsAssemblyInfo.cs b/obj/Debug/net5.0/StudyLib.MvcApplicationPartsAssemblyInfo.cs new file mode 100644 index 0000000..261c803 --- /dev/null +++ b/obj/Debug/net5.0/StudyLib.MvcApplicationPartsAssemblyInfo.cs @@ -0,0 +1,18 @@ +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +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. + diff --git a/obj/Debug/net5.0/StudyLib.assets.cache b/obj/Debug/net5.0/StudyLib.assets.cache index 5f47cad..98fd718 100644 Binary files a/obj/Debug/net5.0/StudyLib.assets.cache and b/obj/Debug/net5.0/StudyLib.assets.cache differ diff --git a/obj/Debug/net5.0/StudyLib.csproj.CoreCompileInputs.cache b/obj/Debug/net5.0/StudyLib.csproj.CoreCompileInputs.cache index f902cf6..3c76ef4 100644 --- a/obj/Debug/net5.0/StudyLib.csproj.CoreCompileInputs.cache +++ b/obj/Debug/net5.0/StudyLib.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -4c01e416956b3c50daec1ce112986f017c085152 +cad587a26be2f59d59cfa39d053b6ddeb9041049 diff --git a/obj/Debug/net5.0/StudyLib.csproj.FileListAbsolute.txt b/obj/Debug/net5.0/StudyLib.csproj.FileListAbsolute.txt index b3c1ad6..a96e624 100644 --- a/obj/Debug/net5.0/StudyLib.csproj.FileListAbsolute.txt +++ b/obj/Debug/net5.0/StudyLib.csproj.FileListAbsolute.txt @@ -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 diff --git a/obj/Debug/net5.0/StudyLib.csprojAssemblyReference.cache b/obj/Debug/net5.0/StudyLib.csprojAssemblyReference.cache index 05f5bcf..41f6adb 100644 Binary files a/obj/Debug/net5.0/StudyLib.csprojAssemblyReference.cache and b/obj/Debug/net5.0/StudyLib.csprojAssemblyReference.cache differ diff --git a/obj/Debug/net5.0/StudyLib.dll b/obj/Debug/net5.0/StudyLib.dll index b72e0a8..8622cf5 100644 Binary files a/obj/Debug/net5.0/StudyLib.dll and b/obj/Debug/net5.0/StudyLib.dll differ diff --git a/obj/Debug/net5.0/StudyLib.pdb b/obj/Debug/net5.0/StudyLib.pdb index 7411d09..8c9cce0 100644 Binary files a/obj/Debug/net5.0/StudyLib.pdb and b/obj/Debug/net5.0/StudyLib.pdb differ diff --git a/obj/Debug/net5.0/ref/StudyLib.dll b/obj/Debug/net5.0/ref/StudyLib.dll index 7a692da..3af96a3 100644 Binary files a/obj/Debug/net5.0/ref/StudyLib.dll and b/obj/Debug/net5.0/ref/StudyLib.dll differ diff --git a/obj/Debug/net5.0/staticwebassets/StudyLib.StaticWebAssets.Manifest.cache b/obj/Debug/net5.0/staticwebassets/StudyLib.StaticWebAssets.Manifest.cache index e69de29..a2bf814 100644 --- a/obj/Debug/net5.0/staticwebassets/StudyLib.StaticWebAssets.Manifest.cache +++ b/obj/Debug/net5.0/staticwebassets/StudyLib.StaticWebAssets.Manifest.cache @@ -0,0 +1 @@ +6c5d918e2f907c1c65ee70765a909593a5ad1f93 diff --git a/obj/Debug/net5.0/staticwebassets/StudyLib.StaticWebAssets.xml b/obj/Debug/net5.0/staticwebassets/StudyLib.StaticWebAssets.xml index 7b21d22..c96d372 100644 --- a/obj/Debug/net5.0/staticwebassets/StudyLib.StaticWebAssets.xml +++ b/obj/Debug/net5.0/staticwebassets/StudyLib.StaticWebAssets.xml @@ -1 +1,3 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/obj/StudyLib.csproj.nuget.dgspec.json b/obj/StudyLib.csproj.nuget.dgspec.json index a1c2080..74af72d 100644 --- a/obj/StudyLib.csproj.nuget.dgspec.json +++ b/obj/StudyLib.csproj.nuget.dgspec.json @@ -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, )" diff --git a/obj/StudyLib.csproj.nuget.g.props b/obj/StudyLib.csproj.nuget.g.props index 5421e1c..cd5ea41 100644 --- a/obj/StudyLib.csproj.nuget.g.props +++ b/obj/StudyLib.csproj.nuget.g.props @@ -17,6 +17,7 @@ + C:\Users\Jakub\.nuget\packages\microsoft.codeanalysis.analyzers\3.0.0 diff --git a/obj/StudyLib.csproj.nuget.g.targets b/obj/StudyLib.csproj.nuget.g.targets index 53cfaa1..8cd0fd9 100644 --- a/obj/StudyLib.csproj.nuget.g.targets +++ b/obj/StudyLib.csproj.nuget.g.targets @@ -3,4 +3,7 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + \ No newline at end of file diff --git a/obj/project.assets.json b/obj/project.assets.json index 6fd9048..5f5b3c5 100644 --- a/obj/project.assets.json +++ b/obj/project.assets.json @@ -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, )" diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache index f3d6293..3ed73e0 100644 --- a/obj/project.nuget.cache +++ b/obj/project.nuget.cache @@ -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",