Javascript 公众如何使用我的Instagram应用程序?

Javascript 公众如何使用我的Instagram应用程序?,javascript,api,instagram,Javascript,Api,Instagram,我正在使用一个名为“Instafeed”的JS插件动态地将上传到Instagram帐户的最新图像拉入 我的目标是让它为政府客户工作。我首先在我自己的个人帐户上进行了测试,找到了我的用户ID、客户ID并生成了一个令牌 <script type="text/javascript"> // Get the most latest instagram post and insert it into the page in the DIV# instafeed var feed

我正在使用一个名为“Instafeed”的JS插件动态地将上传到Instagram帐户的最新图像拉入

我的目标是让它为政府客户工作。我首先在我自己的个人帐户上进行了测试,找到了我的用户ID、客户ID并生成了一个令牌

<script type="text/javascript">
    // Get the most latest instagram post and insert it into the page in the DIV# instafeed
    var feed = new Instafeed({
        get: 'user',
        userId: '249842490',
        accessToken: '249842490.1677ed0.0283e662751a4e369ae856f60a4b6228',
        sortBy: 'most-recent',
        resolution: 'low_resolution',
        limit: 1,
        clientId: 'dee7958de6a64ed284b95abb1619b790'
    });
    feed.run();
</script>

//获取最新的instagram帖子,并将其插入DIV#instafeed中的页面
var feed=新Instafeed({
获取:“用户”,
用户ID:'249842490',
accessToken:'249842490.1677ed0.0283e662751a4e369ae856f60a4b6228',
脏话:“最近的”,
分辨率:“低分辨率”,
限额:1,,
客户ID:'dee7958de6a64ed284b95abb1619b790'
});
feed.run();
现在,为了获得客户机ID,我必须在开发人员区域创建一个应用程序。从2016年6月1日起,任何新申请都将被沙箱处理,并应用限制条件,直到审查并正确发布

这一切都很好,并拉在图像,因为它应该(例如),但我已经被问到了PM的依赖性和漏洞。我可以看到明显的依赖关系是Instagram帐户、Instagram应用程序和令牌生成器)

我打算让Instagram应用程序上线,因为500/小时的速率限制对于页面获得的流量来说太小了。我的客户似乎很担心Instagram应用程序上线后的安全问题


我无法回答的是关于安全风险的问题,比如谁可以使用该应用程序?为了什么目的?有人可以利用该应用程序入侵Instagram帐户吗?请注意,我是为风险极高的客户工作的。我只能假设那里的应用程序被访问页面的用户使用,我让Instafeed.js调用应用程序生成要显示的内容。该应用程序不适用于任何其他用途。

任何时候在客户端上嵌入信息,您都有可能让任何有权访问该客户端的人以某种方式获取该信息。这适用于网站、本地移动应用程序等

API提供商(在本例中为Instagram)知道这是一种风险,因此他们专门为您提供某种标识符组合(在您的示例中为
userId
accessToken
clientId
),允许客户端应用程序发出请求,但监控与这些标识符相关的流量,并提供诸如限制流量、黑名单等设施

这些类型的凭据很有用,因为它们通常可以重置(如果您发现来自某个源的一些奇怪流量,您可以重置令牌并重新部署应用程序)

这种类型的东西属于“API管理”领域,这些特性非常常见。不幸的是,有人从您的客户端应用程序获取这些密钥的风险总是存在的


如果您的工作对象不希望他人获得这些凭据,您可以在客户端实现某种用户身份验证(现在最常用的方法之一就是OAuth,举个例子),一旦客户端进行身份验证,他们就可以调用您的服务器,服务器将包含
Instafeed
API和
userId
accessToken
,等等。这只是在客户端和Instagram之间增加了一个附加层,并允许您稍微控制谁在向您的应用程序发出请求(它仍然无法消除通过客户端应用程序进行身份验证的恶意用户,但至少它将Instagram的访问点保留在一个单独的位置,即您的服务器)。

“入侵Instagram帐户”。除了“以某种方式登录帐户”之外,您所说的“入侵”有哪些示例好吧,让我们忘了我用了那个词(我在引用)。让我们称之为无意中允许用户通过应用程序访问政府或公司Instagram帐户。好的。登录Instagram帐户的唯一方法是使用用户名/密码。您是否担心有什么方法可以使用客户端ID和令牌或其他什么东西登录?@JoshBeam但我认为人们可以找到他的客户端的
帐户ss_token
通过查看源代码并使用它发送垃圾邮件,这可能会导致应用程序和/或帐户被阻止?@HuorCulnamo是的,通过将任何信息嵌入任何客户端设备的任何位置,您都会面临风险。