private static string ToBaseString(FubeiApiCommonResult <string> responseResult, string appSecret) { var map = new Dictionary <string, string> { { "result_code", responseResult.ResultCode }, { "result_message", responseResult.ResultMessage }, { "data", responseResult.Data } }; return(ToBaseString(map, appSecret)); }
public string Index([FromForm] FubeiApiCommonResult <string> notify, [FromForm(Name = "sign")] string sign) { var valid = FubeiSignatureService.VerifyFubeiNotification(notify, sign); if (valid) { Logger.LogInformation("Notification [VALID] => {0}, Sign: {1}", JsonConvert.SerializeObject(notify), sign); } else { Logger.LogWarning("Notification [INVALID] => {0}, Sign: {1}", JsonConvert.SerializeObject(notify), sign); } return("SUCCESS"); }
/// <summary> /// 验证签名 /// </summary> /// <param name="result"></param> /// <param name="sign"></param> /// <returns></returns> public bool VerifyFubeiNotification(FubeiApiCommonResult <string> result, string sign) { return(FubeiSignatureUtil.Verify(result, _applicationConfiguration.AppSecret, sign)); }
/// <summary> /// 签名验证 /// </summary> /// <param name="result"></param> /// <param name="appSecret"></param> /// <param name="sign"></param> /// <returns></returns> public static bool Verify(FubeiApiCommonResult <string> result, string appSecret, string sign) { var signExpected = Hash(ToBaseString(result, appSecret)); return(signExpected.Equals(sign, StringComparison.OrdinalIgnoreCase)); }
public FubeiNotificationParam(FubeiApiCommonResult <string> data) { Data = data.Data; ResultCode = data.ResultCode; ResultMessage = data.ResultMessage; }