private async Task LobUserReset() { for (int i = 1; i <= 50; i++) { var fooIdx = (i - 1) % 7; var fooDepartment = lobDatabaseContext.Departments.FirstOrDefault(x => x.Name == $"Department{fooIdx}"); LobUser fooUser = new LobUser() { Account = $"user{i}", Password = $"password{i}", Image = $"", Name = $"Account{i}", Department = fooDepartment, TokenVersion = 0, Level = 0, }; lobDatabaseContext.LobUsers.Add(fooUser); } var fooAdminDepartment = lobDatabaseContext.Departments.FirstOrDefault(x => x.Name == $"Department1"); LobUser fooAdminUser = new LobUser() { Account = $"admin", Password = $"admin", Image = $"", Name = $"Administrator", Department = fooAdminDepartment, TokenVersion = 0, Level = 5, }; lobDatabaseContext.LobUsers.Add(fooAdminUser); await lobDatabaseContext.SaveChangesAsync(); }
public string GenerateRefreshToken(LobUser fooUser) { var claims = new[] { new Claim(JwtRegisteredClaimNames.Sid, fooUser.Id.ToString()), new Claim(ClaimTypes.Name, fooUser.Account), new Claim(ClaimTypes.Role, "User"), new Claim(ClaimTypes.Role, $"RefreshToken"), new Claim(ClaimTypes.Version, $"{fooUser.TokenVersion}"), }; var token = new JwtSecurityToken ( issuer: configuration["Tokens:ValidIssuer"], audience: configuration["Tokens:ValidAudience"], claims: claims, expires: DateTime.Now.AddDays(Convert.ToDouble(configuration["Tokens:JwtRefreshExpireDays"])), //notBefore: DateTime.Now.AddMinutes(-5), signingCredentials: new SigningCredentials(new SymmetricSecurityKey (Encoding.UTF8.GetBytes(configuration["Tokens:IssuerSigningKey"])), SecurityAlgorithms.HmacSha512) ); string tokenString = new JwtSecurityTokenHandler().WriteToken(token); return(tokenString); }
public static LoginResponseDTO ToLoginResponseDTO(this LobUser lobUser, string token, string refreshToken, string tokenExpireMinutes, string refreshTokenExpireDays) { LoginResponseDTO LoginResponseDTO = new LoginResponseDTO() { Account = lobUser.Account, Id = lobUser.Id, Name = lobUser.Name, Image = lobUser.Image, Department = new DepartmentDTO() { Id = lobUser.Department.Id, }, Token = token, TokenExpireMinutes = Convert.ToInt32(tokenExpireMinutes), RefreshToken = refreshToken, RefreshTokenExpireDays = Convert.ToInt32(refreshTokenExpireDays), Level = lobUser.Level, }; return(LoginResponseDTO); }
public static LeaveForm ToLeaveForm(this LeaveFormRequestDTO leaveFormRequestDTO, LobUser lobUser, LeaveFormType leaveFormType) { LeaveForm fooLeaveForm = new LeaveForm() { BeginTime = leaveFormRequestDTO.BeginTime, EndTime = leaveFormRequestDTO.EndTime, Description = leaveFormRequestDTO.Description, TotalHours = leaveFormRequestDTO.TotalHours, User = lobUser, LeaveFormType = leaveFormType, }; return(fooLeaveForm); }