我使用Azure SDK于2012年10月开发了一个可行的解决方案。它连接到另一个使用OAuth的服务。当我使用Azure SDK 2.1将解决方案移动到计算机时,OAuth回调失败,因为端口号已更改。
例如,当我调试解决方案时,它会在127.0.0.2:82打开浏览器。然后我连接到其他服务,回调到127.0.0.2:83,浏览器找不到。在被重定向到其他服务之前,我可以看到控制器正在查看Request对象并从中获取无效端口#(83)。
我不是MVC或Azure专家,但这个解决方案在旧版SDK下运行良好。有什么变化吗?顺便说一下,我用IE10和Chrome测试了这个,所以这不是浏览器问题。
为了清楚 - 我在2台机器上运行完全相同的解决方案。一个工作,另一个不工作。所以这对我的代码来说不是问题,除非在2012年10月之后明确需要为Azure SDK进行更改。
答案 0 :(得分:1)
Oauth2应用已配置为在特定站点+端口上重定向,因此您需要在OAuthProvider中重新配置Oauth2配置
或者看看为什么本地仿真器绑定到不同的端口。也许其他端口正在模拟器中运行的其他站点使用。有时只需重新启动模拟器即可。
请参阅this以了解本地模拟器的工作原理。
答案 1 :(得分:0)
我错过了正在查看Request对象的控制器方法的[Authorize]属性。当我添加它时,端口号问题就消失了。
仍然不确定为什么它在一台开发机器上工作而不是另一台(或者使用一个版本的Azure SDK而不是另一个版本),但现在它适用于两者,所以你有它。