public static RestRequest BuildSecurePostRequest(this ServiceClientBase target, string action, object data, string tokenId, string encryptionToken) { var request = new RestRequest(target.CalculateUrlForMethod(action), Method.POST, DataFormat.Json); target.ApplyHeaders(request); var fReq = new SecureRequest() { ClientVersionNo = target.WebClient.ClientVersionNo, Id = tokenId, Payload = new SecurePayload(data, encryptionToken), }; request.AddJsonBody(fReq); return(request); }
public async Task <SecureResponse> CreateSession([FromBody] SecureRequest request) { var result = new SecureResponse(); try { //calculate the encryption Hash var initKey = "1234567890"; //try and extract the empty payload, will fail if the key is wrong var payload = ExtractPayload <EmptyPayLoad>(request, initKey); await Task.Delay(10); result.Payload.Data = PayloadManager.EncryptPayload(EmptyPayLoad.Empty, initKey); } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
public static T ExtractPayload <T>(SecureRequest request, string encryptionToken) { var payLoad = request.Payload.Extract <T>(encryptionToken); return(payLoad); }