如何从服务器和客户端的角度使用3Scale的`authrep`功能?

时间:2013-04-17 15:05:31

标签: api node.js authentication 3scale

我正在尝试使用使用3Scale API管理的nodejs设置原型API。

我已经能够找到他们的插件集成代码,如下所示:

var ThreeScale = require('3scale').Client;
// keep your provider key secret
var client = new ThreeScale("X");

// you will usually obtain app_id and app_key from request params
client.authrep({ app_id: "Y",
                 app_key: "Z" }, function(response){
  if(response.is_success()) {
    // continue
  } else {
    throw new Error("not authorized " + response.error_message);
  }
});

这使得某些对我来说是服务器模块的一部分。但是,我不确定客户的证书在哪个方程式......

我看到它是因为客户端指向你的应用程序,这里是应用程序的密码......但是实际客户端的用户名/密码呢?在哪里检查?

我觉得我没有抓住他们的架构(可能因为这是我的第一个真正的节点项目,而且我第一次使用3Scale)...

此外,客户的请求是什么样的呢?

1 个答案:

答案 0 :(得分:5)

在3scale系统中的

app_id和app_key(在此身份验证方法中)表示用户(即开发人员)的凭据。这是因为每个用户可以拥有多个应用程序而一个应用程序只属于一个用户,因此您不需要用户凭据。凭证在3scale系统端进行检查,如果获得授权,他们会报告使用情况并将呼叫转发给您的API。

provider_key标识您的帐户(API所有者),您必须保密(如果有人获取,他们可以冒充您)。

您是否已查看3scale的支持网站?关于系统架构有许多有用的信息,有关集成的一些教程等。 您可以在此处查看:http://support.3scale.net

顺便说一句。 node.js插件是一个社区插件。您也可以尝试通过nginx反向代理进行集成。