【问题标题】:How to use 3Scale's `authrep` function from a server and client perspective?如何从服务器和客户端的角度使用 3Scale 的 `authrep` 功能?
【发布时间】:2013-04-18 19:07:30
【问题描述】:

我正在尝试使用使用 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)...

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

【问题讨论】:

    标签: api node.js authentication 3scale


    【解决方案1】:

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

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

    您是否已经查看过 3scale 的支持网站?有很多关于系统架构的有用信息,一些关于集成的教程等。 你可以在这里查看它们:http://support.3scale.net

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

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      相关资源
      最近更新 更多