我正在使用 OAuth 来允许我的用户使用 Hunch 进行 OAuth,在我的网页上,我有一个按钮允许用户转到 Hunch 并输入他们的详细信息

    <form action="/hunch" method="post" align = "right">
        <div>
            <input type="submit" value="Login using Hunch">
        </div>
    </form>

我如何在这里调用方法而不是处理程序?因为它目前正在调用:
class hunch(webapp.RequestHandler):
    def post(self):
        url = 'http://hunch.com/authorize/v1/?app_id=123&next=/get-recs'
        self.redirect(url)
        logging.info("url2 = " + url2)

        auth_token_key = self.request.get('auth_token_key')
        logging.info("auth_token_key = " + auth_token_key)

但是当我打印 url2 时,它只打印/直觉?我希望这是有道理的。

此外,这个 auth_token_key = self.request.get('auth_token_key') 是否应该从用户输入凭据后定向到的 url 获取信息?

最佳答案

请阅读Hunch OAuth的文档。

而不是在后端拦截表单,而是直接将用户发送到



如果用户授权您的应用程序,他们将被重定向到为您的应用程序注册的 redirect_url 以及 auth_token_key 。例如,redirect_urlhttp://your-domain.com/authorized/ 的应用将被重定向到



此时,您可以将 auth_token_key 交换为 auth_token

Hunch sample app on Github 有一个应该如何完成的示例。 authorize 函数生成一个页面,要求用户进行 Hunch 连接,authorized 函数将 auth_token_key 交换为 auth_token

10-07 15:39