0

我已经使用 DotNetOpenAuth 库部署了一项服务。

该服务针对 4 个提供商(Google、Yahoo、Windows 和 Facebook)进行身份验证

我在使用 Windows 和 Facebook(Oauth 协议)时遇到问题

通过任何浏览器访问时,我的服务都可以正常工作。选择后,它会重定向到正确的提供商,进行身份验证并使用电子邮件地址回复。

但是通过移动设备访问时,该服务不起作用。使用移动设备,当我选择 Windows/Facebook 时,它会将我重定向到登录页面。提供我的凭据后,服务返回,但 url 的重定向导致找不到页面。

重定向的 url 看起来像: http://mydomain.com/facebook.aspx?code= a_very_long_string

我收到一条消息,在 Android 手机的浏览器上找不到该页面。通过台式机/笔记本电脑 (Windows 7) 的浏览器访问时,相同的代码可以正常工作。

如果我遗漏了任何东西以使该服务适用于手机,请告诉我

4

1 回答 1

0

我能够解决这个问题。事实证明,在进行自定义重定向之前,我不能使用 server.Urlencode() .Net 函数。

如果我使用它,该应用程序会在移动平台中中断。删除它,修复了问题,并且成功重定向了 url。

身份验证成功并编码 url 后,我正在执行自定义重定向。但似乎它破坏了应用程序。

不确定这是 DotNetOpenAuth 库的限制还是移动浏览器的限制。

于 2012-09-14T18:49:04.480 回答