我正在构建一个需要与 OAuth 服务提供者通信的 Python 应用程序。 SP 要求我指定回调 URL。指定 localhost 显然是行不通的。我无法设置面向公众的服务器。除了支付服务器/托管费用之外还有什么想法吗?这甚至可能吗?
最佳答案
两件事:
如果您未指定回调 URL,如果它给您一个错误,则该 OAuth 服务提供商违反了 OAuth 规范。 callback_url 为 spec'd to be an OPTIONAL parameter .
但是,撇开迂腐不谈,您可能希望在用户完成后收到回调,以便您知道可以将请求 token 兑换为访问 token 。 Yahoo's FireEagle developer docs有很多关于如何做到这一点的重要信息。
即使在第二种情况下,回调 URL 实际上也不必在 Internet 上可见。 OAuth 服务提供者会将用户用来提供其用户名/密码的浏览器重定向到回调 URL。
执行此操作的两种常见方法是:
- 在您的应用程序中创建一个哑 Web 服务,该服务在某个端口(例如 http://localhost:1234/)上监听完成回调,或者
- 注册一个协议(protocol)处理程序(您必须查看您的操作系统的文档,专门了解如何执行此操作,但它可以使 之类的东西正常工作)。
(我相信您正在描述的流程示例 lives here。)
关于python - 如何在本地针对 OAuth 进行开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/670398/