【发布时间】:2013-09-20 14:25:31
【问题描述】:
我正在编写一个应用程序,它针对 Oauth 2.0 授权服务器进行身份验证。我想测试只有在您登录后才能访问的部分,但 Oauth 服务器是一个外部依赖项,它使我的测试变得复杂和脆弱。
关于我应该如何处理这件事有什么建议吗?对于这样的事情,行业的做法是什么?我的直觉是以某种方式模拟服务器,以便它允许访问受保护的资源。
如果重要的话,这是一个使用 Flask 编写的 Python webapp。
我正在使用一个自定义的 oauth 服务器,它将在我自己的域上运行,虽然可以按照 FoxMask 的建议添加某种沙盒功能,但我更希望能够运行测试而不需要运行额外的服务器.
【问题讨论】:
-
通常,“外部”Oauth(如 Twitter、Evernote 等服务)提供了一个沙箱来进行我们的测试。您没有为此目的找到一个吗?
-
但他们仍然要求您对他们进行身份验证?只是他们向您发送了测试的虚拟凭据?
-
是的,他们当然需要。是的,他们返回了一个虚拟凭据或等效凭据。例如,Evernote 提供了仅用于测试目的的特殊键。这就是使用 API 完成我们的开发的诀窍。一旦您将开发人员卷曲以推动生产,您将获得用于生产的新 api 密钥。
-
我的 Oauth2 提供程序是在我自己的机器上运行的 custom server。我可以在其中添加此功能,但我更希望能够在不需要实际运行的 Oauth 服务器的情况下运行测试。
-
我明白了,你应该从这个细节开始。我会避免为你谈论无用的事情;)所以我们现在回到起点。对不起。
标签: python web-applications oauth-2.0 flask