2011-03-16 33 views
1

我有一个挂钩应用程序发出重定向,要求用户验证Twitter。不能在Mac OS上工作的挂钩重定向

在控制器中的代码看起来是这样的:

auth_url = 'http://twitter.com/oauth/authorize?oauth_token=mY0aUthaCc3s5T0k3n' 
    return redirect(auth_url) 

但硬是没有任何反应,只是一个空白页面的呈现方式。

现在这是它变得奇怪的地方。我只在Mac OS计算机上获得此行为。在Ubuntu上重定向工作就像预期的那样。

这不是浏览器的东西,因为它适用于Ubuntu上所有类型的浏览器,但是Mac OS中的那些浏览器不会重定向。

现在它变得更加古怪,重定向适用于其他网址如

回报重定向( 'http://google.com')

,甚至Facebook验证重定向工作

auth_url = “https://www.facebook.com/dialog/oauth?client_id=myId & REDIRECT_URI = HTTP://myurl.com/callback &范围= offline_access”

回报重定向(auth_url)

这是一个错误?我疯了吗?我在做外部重定向吗?

+0

您是否尝试用LiveHTTPHeaders查看标题,例如?我试图嗅探究竟发送给浏览器的是什么,这可能会给你一些线索。 – 2011-06-14 11:10:47

回答

0

尝试redirect_to。

from pylons.controllers.util import redirect_to 

class SomeController(BaseController): 
    def redirect(self): 
     auth_url = 'http://twitter.com/oauth/authorize?oauth_token=mY0aUthaCc3s5T0k3n' 
     redirect_to(auth_url) 

这适用于我的Mac。