async public Task <bool> LoginBillRoom(int roomId, CreatRoomDTO request) { bool res = false; var bill = await Get(roomId); var pwd = bill.RoomPwd; if (pwd == request.RoomPwd) { return(true); } return(res); }
public void IsAuthenticated(CreatRoomDTO request, out string token) { token = string.Empty; var claims = new[] { new Claim("roomId", request.RoomId.ToString()) // new Claim("User", "User"), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_tokenManagement.Secret)); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var jwtToken = new JwtSecurityToken(_tokenManagement.Issuer, _tokenManagement.Audience, claims, expires: DateTime.Now.AddMinutes(_tokenManagement.AccessExpiration), signingCredentials: credentials); token = new JwtSecurityTokenHandler().WriteToken(jwtToken); }
async public Task <ActionResult <BillResult> > PostNewRoom(CreatRoomDTO request) { Bill bill = new Bill(); bill.Id = await _billService.FindIdbyRoomId(request.RoomId); bill.RoomId = request.RoomId; bill.RoomPwd = request.RoomPwd; bill.RoomTitle = "new room"; bill.BillInfo = new List <BillInfo>(); bill.PayerInfo = new List <PayerInfo>(); _billService.Update(bill.Id, bill); return(Ok(new BillResult(StatusCodes.Code200, bill))); }
async public Task <ActionResult <BillResult> > LoginBillRoom(int roomId, CreatRoomDTO request) { string token; var flag = await _billService.LoginBillRoom(roomId, request); if (flag) { _authService.IsAuthenticated(request, out token); var bill = await _billService.Get(roomId); bill.Token = token; return(Ok(new BillResult(StatusCodes.Code200, bill))); } else { return(NotFound(StatusCodes.Code404)); } }
async public Task <CreatRoomDTO> GetNewRoomId() { CreatRoomDTO creatRoom = new CreatRoomDTO(); Random random = new Random(); int roomId; while (true) { roomId = random.Next(100000, 999999); var id = await FindIdbyRoomId(roomId); if (string.IsNullOrEmpty(id)) { creatRoom.RoomId = roomId; creatRoom.RoomPwd = 1234; break; } } return(creatRoom); }