2014-06-24 168 views
0

我正在使用python开发API注册和身份验证服务应用程序。开发人员将能够注册他们的应用程序(应用程序的域名),并为注册的应用程序生成一个随机的API密钥。API注册和身份验证服务

接下来,注册的应用程序将发送API密钥到API服务和每个API请求。 API服务器将使用传递的API密钥对传入请求的域进行身份验证,以确认该请求是否有效。我使用转发主机来验证API请求的域名,但是它在某些情况下(当打开的页面是第一页时)不起作用,Forward Host变为空白。

是否有更好的方法来验证请求或API注册过程中所需的任何可靠验证请求的更改?一些指针会很有帮助。

回答

0

使用授权代理

样品是“3scale.net”,提供免费的梯队,其他商业解决方案也存在。

开放源码解决方案我知道的是ApiAxle,这是更简单,但仍然非常有用。

该代理负责管理访问密钥,并将请求转发回实际应用程序,以防万一它真的被服务。

使用授权服务

另一个解决方案是具有被authrized或不客户端提供的密钥(providerid,APPID,ACCESSKEY,...)内部的一些服务评估集。为了这个目的,你必须:

  • 建立授权服务
  • 在每个通话拨号认证服务的顶部添加2-3行修改代码。对于3比例

示例代码是在这里:https://github.com/3scale/3scale_ws_api_for_python

结论

  • 认证代理使得应用简单,并没有理会谁是问。这可能是有利的,直到你的应用程序需要知道谁在问。
  • 验证服务需要更改您的代码。