public APIShunFengController(IFeedbackService objService, IOauthClientDataService clientDataService, ISignCheckService signCheckService, IShunFengInfoService shunFengInfoService) : base(objService) { _clientDataService = clientDataService; _signCheckService = signCheckService; _shunFengInfoService = shunFengInfoService; _objService = objService; }
protected bool VerifyNewParam(string param, string clientId, ISignCheckService signCheckService) { var sign = ApiCommon.GetNewSignature(param, Request, clientId, signCheckService); if (Request["sign"].ToLower() != sign) { log.Error("sign error!" + sign); return(false); } else { log.Debug("sign success!"); return(true); } }
public APIController(IFeedbackService objService, IOauthClientDataService clientDataService, ISignCheckService signCheckService) : base(objService) { _clientDataService = clientDataService; _signCheckService = signCheckService; }
/// <summary> /// 根据clientid取appSignKey /// </summary> /// <param name="param"></param> /// <param name="request"></param> /// <param name="clientid"></param> /// <returns></returns> public static string GetNewSignature(string param, HttpRequestBase request, string clientId, ISignCheckService signCheckService) { param = param + ",appId,timestamp,nonce"; Dictionary <string, string> dict = new Dictionary <string, string>(); var _params = param.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (var a in _params) { if (a == "url") { dict.Add(a, request[a].Split(',')[0]); } else if (a == "appId" && request[a] == null) { string routeDataAppid = request.RequestContext.RouteData.Values["appid"].ToString(); dict.Add(a, routeDataAppid); } else { dict.Add(a, request[a]); } } //string appid = dict["appId"]; var app = signCheckService.Repository.Entities.Where(x => x.ClientId == clientId).FirstOrDefault(); string appid = app.Appid; var appSignKey = app.AppSignKey; if (string.IsNullOrEmpty(appSignKey)) { throw new ArgumentException(@"clientid 不正确!", appSignKey); } //dict.Add("appId", appid); dict.Add("appSignKey", appSignKey); //string appSignKey = CommonService.GetSysConfig(appid, "iMih0xabKQdw8CBbkTM5Ley84WhN4oL6u5lbDui6G9tUlQo7fJE1CcktZ2UiETnU1FZ0R3ZvzYLKOzmaziyms5QuMia8czkEwFv2TQUg4G45Ha0aHPEHXnhjVqUPnKPJ"); // string appSignKey = WeChatCommonService.GetWeChatConfig(Convert.ToInt32(appid))?.AppSignKey; return(ApiCommon.GetSignature(dict, request.Params)); }