Tag: api key

如何开源使用API​​密钥的应用程序

对于一个宠物项目,我开发了一个桌面应用程序,它需要来自几个不同的Web服务的API密钥。 我一直在努力准备这个应用程序,使其成为开源的,并且解决了用这些密钥做什么的问题。 问题是这样的:我的理解是,这些API密钥对任何使用该应用程序或查看/修改源代码的人都是不可见的。 从Web服务的最后,这些API密钥用于标识访问其API的应用程序,并根据需要允许/阻止使用。 在TOS的大部分接收这些密钥的地方,实际上明确指出密钥不能与世界共享。 目前,我所有的密钥都是硬编码的,但在处理开放源码应用中的私钥情况方面,我处于一个僵局: – 如果密钥保持硬编码,那么只要我的源代码被公开就可以看到。 – 我不能真的用代码分配中的键来省略源文件,因为那样它就不能编译。 这在技术上解决了这个问题,但引入了一个新的,不可接受的。 – 如果我将按键closures到一个.ini或其他configuration文件,并没有包含在我的公共代码库中的文件,它仍然必须与我的应用程序的二进制文件分发,以便应用程序的function,所以我的密钥将在应用程序分配中显示,而不是源分配。 不是一个改进。 我试图在这个INI文件上使用的任何encryption体操将增加任何人试图修改我的代码的复杂性。 因此,关于我的代码库(目前在Mercurial中用于版本控制),pipe理所有事情的最好方法是什么,以便代码可以公开,但我的密钥保持私有?

哪里存储公共轨道应用程序的敏感数据?

我的个人栏目项目使用了一些API,我将API密钥/秘密存储在config / environments / production.yml和development.yml中作为全局variables。 我现在想把这个项目推到github上供其他人使用,但是我不希望他们有这些敏感数据。 我也不想在.gitignore这个文件,因为它是运行所需的应用程序。 我已经考虑把它们放在数据库的某处,但是希望find一个更好的解决scheme。

Web API创buildAPI密钥

我有兴趣为web.api创buildAPI密钥,并允许客户端使用API​​密钥与API通信,而不是授权web.api提供。 我想要多个客户端能够与web.api沟通。 而不是创build用户名和密码,我可以使用API​​密钥,并允许客户端与客户端进行通信。 有没有这样的内置function? 如果你想实施它,你会怎么做呢?

将API密钥放在标题或url中

我正在为公司的数据devise一个公共API。 我们希望应用程序开发人员注册一个API密钥,所以我们可以监视使用和过度使用。 由于API是REST,我最初的想法是把这个键放在一个自定义的头文件中。 我就是这样看到谷歌,亚马逊和雅虎这样做的。 另一方面,我的老板认为,如果密钥简单地成为URL的一部分,则API更易于使用,例如“http://api.domain.tld/longapikey1234/resource”。 我猜这有些事情要说,但它有点违反了URL的原则,只是简单地说明你想要的东西,而不是如何或为什么你想要它。 你会发现把密钥放在URL中是合乎逻辑的吗? 或者,如果将一个简单的JavaScript前端写入某些数据,您是不是必须手动设置HTTP标头?

Google Maps API V3中的API密钥是什么?

在较旧版本的API中,我不得不使用类似这样的方式将JavaScript插入到页面中,以便使用基本function: http://maps.google.com/maps?file=api&v=2&key= GoogleMapsAPIKey 我必须为每个站点configurationAPI密钥。 看文档,它说,得到一个基本的地图工作,我只需要这个: http://maps.google.com/maps/api/js?sensor= true / false API密钥在哪里? 如果我只是计划使用基本的地图和标记,而不是更高级的function,我需要担心吗? 我也在本地主机上testing,但常见问题说我仍然需要注册一个密钥,我没有这样做,它仍然有效。

什么是API密钥?

这几天我几乎在所有的跨服务应用程序中都看到了这个词。 API密钥究竟是什么,它有什么用途? 另外,公钥和私钥之间的区别是什么?

使用travis-ci上的秘密API键

我想用travis-ci来做我的一个项目 。 该项目是一个API包装,所以许多testing依赖于使用秘密的API密钥。 为了在本地进行testing,我只是将它们存储为环境variables。 在Travis上使用这些密钥的安全方法是什么?

API密钥和密钥如何工作?

我刚刚开始考虑api密钥和密钥如何工作。 就在2天前,我注册了Amazon S3并安装了S3Fox Plugin 。 他们要求我的访问密钥和秘密访问密钥,这两个都需要我login访问。 所以我想知道,如果他们要求我提供我的密钥,他们必须把它存储在某个地方? 和问我信用卡号码或密码并将其存储在自己的数据库中基本上不是一回事吗? 秘密密钥和api密钥应该如何工作? 他们需要如何保密? 这些应用程序使用秘密密钥以某种方式存储它吗? 感谢您的洞察力。

Google地图如何保护其API密钥? 如何做类似的东西?

目前,Google要求您创build一个API密钥,该密钥特定于要从中提供地图的域。 Google如何执行此操作? 我想要做同样的事情。 我为我的服务公开了一个API,但希望允许客户端通过javascriptembedded对API的调用,而不仅仅是从服务器。 我可以用一个随机标记来保护它,但是当然这可能很容易被任何在客户端机器上查看代码的人所欺骗。 我总是理解这个概念是不可能的,但是Google在执行方面做得很好。 编辑 – 这听起来像谷歌真的没有做任何惊人的事情。 他们的API很可能只是为了跟踪,而不是真的保证他们的API被密钥使用者所使用。

在Android中存储私人API密钥的最佳做法

我正在开发一个应用程序,并使用Dropbox和Google Drive等多个第三方API和SDK。 这些库需要API密钥。 私人的和公共的。 目前我有这样的东西: public class DropboxService { private final static String APP_KEY = "jk433g34hg3"; private final static String APP_SECRET = "987dwdqwdqw90"; private final static AccessType ACCESS_TYPE = AccessType.DROPBOX; // SOME MORE CODE HERE } 应用程序密钥应该保密 – 但是当发布应用程序时,他们可以被一些人扭转。 我想知道什么是最好的加密,混淆或什么使这个安全。 我想过使用ProGuard,但是为整个项目设置ProGuard需要花费几个星期的时间。 这就是为什么我只想使用ProGuard来存储私钥和其他敏感数据的重要类。 这是好的还是有其他的方法吗? 你怎么看?