我有这个Web Api控制器:
[Route("api/v1/GitHubEvents/{Id}/")]
[HttpPost]
public async Task<HttpResponseMessage> PostGitHubEvent([FromBody]JObject value, long id)
{ ...
gitHubEventAuthenticator.ValidateSignature(...);
}
当Post请求来自本地时间与控制器时区不同的机器时,由于原始请求的时间戳与JObject序列化后的时间戳(或IIS / Web中的任何其他内容)不匹配,签名验证失败Api环境)。
您能否建议保留原始时间戳而不通过JObject / Environment进行修改?
答案 0 :(得分:0)
您可以尝试设置DateFormatHandler
JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings
{
DateFormatHandling = DateFormatHandling.Unspecified
};