我正在尝试从DotNetOpenAuth服务提供商解决方案实施示例,但我没有使用OpenId进行身份验证,而是使用表单身份验证。
我复制并粘贴了Consumer示例,但删除了服务引用并添加了一个指向我的WCF服务的新服务引用。
访问令牌的获取工作正常,我可以看到它们出现在我的数据库表中,但是,一旦我尝试访问数据,它就会在OAuthAuthorizationManager类的这一行失败:
Uri requestUri = OperationContext.Current.IncomingMessageProperties["OriginalHttpRequestUri"] as Uri;
我在某处遗失了什么吗?似乎这个属性应该存在,因为我没有看到它在原始位置手动添加的位置。我从示例Service Provider项目中复制并粘贴了Web.config,并且所有文件的名称都相同。
如果需要更多信息,或者是否有人希望我通过电子邮件向他们发送样本项目,请告诉我。
感谢您的帮助。
答案 0 :(得分:3)
Uri requestUri = operationContext.RequestContext.RequestMessage.Properties.Via;
我认为这是查找原始HTTP信息的更安全的方式。