public HandshakeResponseModel CreateHandshakeResponseObject(HandshakeRequestModel request) //on the server { if (!ServerMode) { throw new Exception("Calling serverside encryption method from client."); } HandshakeInitiated = true; return(new HandshakeResponseModel { ClientSecret = Hashing.Sha256(request.ClientSecret), PublicKey = Handshake.GetPublicKey(), Data = Handshake.Encrypt(request.PublicKey, PrivateKey) }); }
public HandshakeResponseModel Post(HandshakeRequestModel model) { // Check if we have an identity token if (string.IsNullOrEmpty(model.Identity)) { return(new HandshakeResponseModel { IsSuccessful = false, }); } // Process as handshake, matching identity token var user = dbContext.MqttUsers .Where(x => x.Identity == model.Identity) .FirstOrDefault(); // Check if user is found if (user == null) { return(new HandshakeResponseModel { IsSuccessful = false, }); } // Add handshake user.LastHandshakeAt = DateTime.Now; var userHandshake = new MqttUserHandshake { MqttUserId = user.Id, HandshakeAt = user.LastHandshakeAt, }; dbContext.MqttUserHandshakes.Add(userHandshake); dbContext.SaveChanges(); return(new HandshakeResponseModel { IsSuccessful = true, }); }