【发布时间】:2013-03-07 17:44:45
【问题描述】:
我正在尝试使用 API 对应用程序进行身份验证。
方法如下:
- 我正在使用
webbrowser.open打开一个 URL。 - 用户对应用程序进行身份验证,并被重定向到另一个 URL,即
https://stackexchange.com/oauth/login_success,并带有使用此 URL 编码的参数。
示例重定向 url 是:.../login_success#access_token=xyz&expires=00000
我当前的代码:
auth_url = 'https://stackexchange.com/oauth/dialog'
def authenticate():
scope = "write_access,private_info,read_inbox"
url = make_url(auth_url,client_id=132,
scope=scope,response_type='code',
redirect_uri='https://stackexchange.com/oauth/login_success')
webbrowser.open(url)
用户身份验证后如何获取重定向 URL(用户被带到的 URL)???
【问题讨论】:
-
难道您不应该重定向到指向 您的 主机的 URL 并使用出现在您服务器上的请求来确定用户是否成功登录?我猜你在一个客户端应用程序中,所以你可能想要启动一个最小的 HTTP 服务器并重定向到
localhost:yourport。 -
@svckr 是的,但也应该可以从 url 看到发生了什么。如何打开我的
localhost到页面?? -
webbrowser不能用于那个,它实际上只用于打开浏览器而不是与它们交互。 -
自己实现 OAuth(使用现有的优秀 Python 实现之一)。
-
@robertklep 什么意思,请详细说明...
标签: python redirect browser urllib2