public IActionResult Verify() { VerifyData verifyData = Payment.GetFormVerifyData(Request.Form); try { VerifyResponse paymentResponse = Payment.Verify(new VerifyRequest { api = myApi, transId = verifyData.transId }); if (paymentResponse.status == 1) { ViewBag.transId = verifyData.transId; ViewBag.amount = paymentResponse.amount; return(View(true)); } ViewBag.Error = "خطای \"" + paymentResponse.errorCode + "\": " + paymentResponse.errorMessage; } catch { ViewBag.Error = "متاسفانه پرداخت ناموفق بوده است."; } return(View(false)); }
public override async Task <VerifyResponse> VerifyPhone(VerifyPhoneRequest request, ServerCallContext context) { var result = new VerifyResponse(); var response = await _walletApiV1Client.VerifyPhoneAsync(new VerifyPhoneModel { PhoneNumber = request.Phone, Code = request.Code, Token = request.Token }); if (response.Result != null) { result.Body = new VerifyResponse.Types.Body { Passed = response.Result.Passed }; } if (response.Error != null) { result.Error = response.Error.ToApiError(); } return(result); }
/// <summary> /// Первый шаг авторизации - отправка номера на сервер /// </summary> /// <returns></returns> public async Task FirstStepAuth() { if (string.IsNullOrWhiteSpace(ClientSettings.Phone)) { throw new AuthMailException("Не задан номер телефона"); } var request = new VerifyUriRequest(ClientSettings.Phone); request.LocationLat = ClientSettings.UserLat > 0.01 ? request.LocationLat : ClientSettings.UserLat; request.LocationLon = ClientSettings.UserLon > 0.01 ? request.LocationLon : ClientSettings.UserLon; request.SystemId = string.IsNullOrWhiteSpace(ClientSettings.SystemId) ? request.SystemId : ClientSettings.SystemId; request.ApplicationId = Guid.NewGuid().ToString(); var response = await _client.GetStringAsync(_url + request.CreateUri()); _verifyResponse = JsonConvert.DeserializeObject <VerifyResponse>(response); if (_verifyResponse.Status != "OK") { throw new AuthMailException(_verifyResponse.Description); } _verifyUriRequest = request; _sessionId = request.SessionId; ClientSettings.SystemId = request.SystemId; }
public VerifyResponse VerifyUserRegistration(int id, string token) { VerifyResponse response = new VerifyResponse(); UserToken token2Verify = new UserToken(); token2Verify.UserId = id; token2Verify.Token = new Guid(token); token2Verify.TokenType = TokenType.Verify; UserTokensData tokenData = new UserTokensData(CurrentDataContext); UserToken returnToken = tokenData.ReadTokenForRegistration(token2Verify); if (returnToken != null) { // Update user to be verified UsersData uData = new UsersData(CurrentDataContext); User theUser = uData.ReadUserById(id); theUser.Verified = true; uData.UpdateUser(theUser); // Delete the registration token tokenData.DeleteTokenById(returnToken.Id); response.Success = true; response.User = theUser.StripSecurity(); } return(response); }
public async Task <ActionResult <VerifyResponse> > Verify([FromBody] VerifyRequest query) { await Task.Run(() => this.Fsm.Verify(query.Accesscode)); var response = new VerifyResponse(this.State) { Phonenumber = _pnonenumber, }; return(new ActionResult <VerifyResponse>(response)); }
/// <summary> /// 手机号认证 /// </summary> /// <param name="request">The request.</param> /// <returns>Task<System.Boolean>.</returns> public async Task <bool> VerifyCellPhone(VerifyRequest request) { try { string url = $"{vailcodeBaseUrl}api/ValidateCodes/Verify"; HttpResponseMessage responseMessage = await Client.PostAsJsonAsync(url, request); VerifyResponse response = await responseMessage.Content.ReadAsAsync <VerifyResponse>(); return(responseMessage.StatusCode == HttpStatusCode.OK && response.Success); } catch (Exception) { return(false); } }
public VerifyResponse VerifySignature(string sigFile, string dataFile) { VerifyResponse ret = new VerifyResponse(); var keyring = Repository.TrustDBFile; if (!File.Exists(AppPath + "/" + keyring)) { ret.Status = VerifyResponse.VerifyResponseStatus.NO_LOCAL_PUBKEY; Logger.Info("VerifySignature(\"" + dataFile + "\") = " + ret.Status); return ret; } if (!File.Exists(AppPath + "/" + sigFile) || !File.Exists(AppPath + "/" + dataFile)) { ret.Status = VerifyResponse.VerifyResponseStatus.NO_LOCAL_SIGNATURE; Logger.Info("VerifySignature(\"" + dataFile + "\") = " + ret.Status); return ret; } var pProcess = new System.Diagnostics.Process(); pProcess.StartInfo.FileName = AppPath + "\\bin\\minisign.exe"; pProcess.StartInfo.EnvironmentVariables.Add("CYGWIN", "nodosfilewarning"); pProcess.StartInfo.Arguments = "-Q -V " + " -p \"" + keyring.ShellEscape() + "\" " + " -x \"" + sigFile.ShellEscape() + "\" " + " -m \"" + dataFile.ShellEscape() + "\" "; pProcess.StartInfo.CreateNoWindow = true; pProcess.StartInfo.UseShellExecute = false; pProcess.StartInfo.WorkingDirectory = AppPath; pProcess.StartInfo.RedirectStandardOutput = true; pProcess.StartInfo.RedirectStandardError = true; pProcess.Start(); pProcess.WaitForExit(); var stdout = pProcess.StandardOutput.ReadToEnd(); var stderr = pProcess.StandardError.ReadToEnd(); if (pProcess.ExitCode == 0) { ret.Status = VerifyResponse.VerifyResponseStatus.OK; ret.trustedComment = stdout.Trim(); } else { Match mr; if ((mr = RegexKeyMismatch.Match(stderr)).Success) { /*var rxdataFile = mr.Groups[0].Value; var curKey = mr.Groups[1].Value; var rxsigFile = mr.Groups[2].Value; var newKey = mr.Groups[3].Value;*/ ret.Status = VerifyResponse.VerifyResponseStatus.PUBKEY_MISMATCH; } else ret.Status = VerifyResponse.VerifyResponseStatus.SIGNATURE_DOES_NOT_VERIFY; } byte[] keyringData = Convert.FromBase64String(System.IO.File.ReadAllLines(AppPath + "/" + keyring)[1]); keyringData = keyringData.Skip(2).Take(8).Reverse().ToArray(); ret.signingKey = BitConverter.ToString(keyringData).ToUpperInvariant(); Logger.Info("VerifySignature(\"" + dataFile + "\") = " + ret.Status + ", key: " + ret.signingKey + ", comment: " + ret.trustedComment); return ret; }