我在 RESTFul wcf 服务上使用 HMACMD5 身份验证。部分签名基于请求的资源或客户端请求的完整 url。
然后我尝试验证服务中的签名。由于请求的 URL 是签名的一部分,我需要得到它。我正在尝试通过以下方式获取原始网址:
WebOperationContext.Current.IncomingRequest.UriTemplateMatch.ToString();
WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.OriginalString;
这并不总是有效。我认为这可能是一个域问题,因为这只是在同一域上使用 SSL 的测试服务器上的测试阶段。
例如,当我发送过去
_https://www.mytestingserver.com/GetResource/xxx/xxx
我真的在写
_https://MYTESTSERVER-DMZ/xxx/xxx
登录我的服务。
我该如何测试这一点,更重要的是,如何确保我始终可以在重写后获得客户端在签名中使用的内容以及您拥有的内容,因为它不在:
incomingRequestContext.UriTemplateMatch.RequestUri.OriginalString;
我已经开始记录几乎所有内容,WebOperationContext
并OperationContext
尝试在 Web 服务器上获取它。
任何帮助表示赞赏。谢谢,