标签: api-key

升级后最新版本的 Chromium 出现“Google API Keys is Missing”错误

一段时间以来,我一直在 Windows 7 系统上使用 Chromium,并且运行良好。但是,在https://download-chromium.appspot.com的常用位置升级到最新版本后,当我加载浏览器时,我收到消息“Google API 密钥丢失。Chromium 的某些功能将被禁用”。

然后我也无法登录我的 Google 帐户,收到消息“哦哦。服务不可用,请稍后再试”。我认为这是因为上面的 API 密钥存在问题。

尽管今天删除、重新安装并使用最新版本 (362135),但我仍然无法消除错误。我的普通版 Chrome 工作正常。

有没有人有任何想法?

谢谢,

奥利弗。

google-api api-key chromium

5
推荐指数
0
解决办法
1638
查看次数

我们如何找到 google_maps_api.xml 文件

获取 Google Maps API 密钥

您的应用程序需要一个 API 密钥来访问 Google 地图服务器。您需要的密钥类型是 Android 应用程序的密钥。钥匙是免费的。您可以将它与调用 Google Maps Android API 的任何应用程序一起使用,并且它支持无限数量的用户。

选择以下一种方式来获取您的 API 密钥:

The fast, easy way: Use the link provided in the google_maps_api.xml file that Android Studio created for you:
    Copy the link provided in the google_maps_api.xml file and paste it into your browser. The link takes you to the Google
Run Code Online (Sandbox Code Playgroud)

开发人员控制台并通过 URL 参数提供信息,从而减少您需要手动输入。按照说明在控制台上创建新项目或选择现有项目。为您的控制台项目创建一个 Android API 密钥。复制生成的 API 密钥,返回 Android Studio,并将 API 密钥粘贴到 google_maps_api.xml 文件中的元素中。

我想知道我们如何找到该文件。它位于哪里?

android google-maps api-key

5
推荐指数
3
解决办法
1万
查看次数

如何将我的 Google Maps Time Zone API 密钥限制为 Android 应用程序?

是否可以将时区 API 密钥限制为 Android 应用程序?

通过定义包名称和 SHA-1 哈希值,可以将 Google Maps Android API 和 Google Places API 密钥限制为某些 Android 应用程序。

这对于 Maps and Places API 来说没有问题,但对 Time Zone API 使用完全相同的设置会不断返回“ REQUEST_DENIED”。将应用程序限制设置回“无”会导致查询成功,但我不想让我的 API 密钥不受保护。

我调用API的方式如下:

double lat = 51.1789;
double lon = -1.8262;
long time = 1523092938; 
String Api_key = "#API_KEY#";

String query = "https://maps.googleapis.com/maps/api/timezone/json?location="+String.format(Locale.ROOT, "%.4f",lat)+","+String.format(Locale.ROOT, "%.4f",lon)+"&timestamp="+time+"&key="+ Api_key;

protected JSONObject doInBackground(String... params) {
        HttpURLConnection connection = null;
        BufferedReader reader = null;

        try {
            URL url = new URL(query);
            connection = (HttpURLConnection) …
Run Code Online (Sandbox Code Playgroud)

android api-key google-cloud-console google-api-timezone

5
推荐指数
1
解决办法
396
查看次数

如何保护我的 api 密钥?

我想从我的 android/ios 应用程序中使用自动完成 api。为此,我需要像这样调用 url:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=paris&key=<myapikey>
Run Code Online (Sandbox Code Playgroud)

问题是:什么可以让其他人不会从我的应用程序中提取我的 api 密钥并将其用于自己的目的?这很重要,因为最后由谷歌支付使用费用的是我......

google-maps google-api api-key google-maps-api-3 google-maps-android-api-2

5
推荐指数
1
解决办法
1029
查看次数

如何在公共开源项目中隐藏 API 密钥?

我有一个问题,我想编写一个程序,该程序必须与某些 3rd 方 Web 服务进行交互。此服务需要客户端(我的程序)通过用户名/密码组合以及令牌来授权自己的特定操作。用户名/密码特定于我的程序的用户,这里没有问题。令牌(API 密钥)有问题。

假设我想让我的程序开源并将其源代码放在某个公共服务器上。当然,我不能硬编码(或包含)API 密钥。否则,我不仅会违反不发布它的合同,而且任何(未经授权的)使用都将归咎于我和我的程序。

根据我的研究(例如,开源一个项目但对 API 密钥保密如何在我的 Electron 应用程序中隐藏 API 密钥?)我可以在 3rd 方 API 和我的程序之间放置一个代理服务器(封闭源代码)。现在我看到有两扇敞开的大门让心怀不轨的人攻击这种情况:

  1. 由于主程序的源代码是开源的,任何与代理的交互都可以从源代码中读取。攻击者可以分叉我的主程序并在代理上使用完全相同的调用,但数据已泄露。与公开可用的密钥相同的结果:我的程序会因为其他人的不良操作/编程技巧而陷入困境。
  2. 我可以添加一个用户名/密码来根据我的代理验证程序。然后,我向代理提供(免费使用)注册,以便有效地使用我的程序。这增加了额外的身份验证和复杂性层,但是是可行的。任何真正想做坏事的人都可以获取密码并使用自己的叉子访问代理。我不能把我自己的密钥/加密/....放在任何地方,因为解密/模仿这些的必要程序将在开源项目中公开可见。

所以现在我只是将问题转移到检测正在运行的软件是否是原始软件,从第 3 方转移到我的代理服务器。我唯一的好处是我可能知道哪个用户是坏人并禁止他,但这就是我所能做的,而我的令牌可能会被这个问题撤销。

很抱歉,我没有在网络上找到针对此特定问题的可用解决方案。我该如何解决这个问题(在抽象层面上)?

open-source web-services api-key

5
推荐指数
0
解决办法
535
查看次数

如何使用 Nuxt 保护 API 密钥并进行验证

我正在使用 Nuxt(使用 SSR/PWA/Vuejs/Node.js/Vuex/Firestore)并希望有一个大致的想法或有以下示例:

  1. 如何保护 API 密钥。例如调用MailChimp API
  2. 如果实施了一个糟糕的解决方案,我不熟悉黑客会如何看待这一点。我如何验证他们无法访问它?

我找到了许多推荐使用环境变量的“解决方案”,但是对于每个解决方案,有人都表示它不安全。看:

https://github.com/nuxt-community/dotenv-module/issues/7

https://github.com/nuxt/nuxt.js/issues/2033

也许服务器中间件就是答案?https://blog.lichter.io/posts/sending-emails-through-nuxtjshttps://www.youtube.com/watch?v=j-3RwvWZoaU (@11:30)。我只需要在输入后向邮件黑猩猩帐户添加一封电子邮件,这似乎是很多开销。

我还看到我已经将 Firestore api 密钥存储为环境变量。这安全吗?当我打开 chrome 开发工具-> 源代码-> 页面-> app.js 时,我可以在那里看到 api 密钥(仅在开发模式下测试)!

middleware api-key vue.js vuejs2 nuxt.js

5
推荐指数
1
解决办法
5203
查看次数

expo/react Native 和 SECRET API KEYS

我对 expo 和 react-native(create-react-native-app)很陌生,我面临一个问题,经过多次研究,我看到了问题,但没有看到解决方案。

我开发了我的应用程序,它应该只是前端,不需要数据库或身份验证,但我仍然需要使用 Google Places API 和电子邮件发送提供商 API(可能是 sendgrid、mailjet ...),我正面临着这个问题我认为我不会是第一个面临的问题:

  • 我在哪里存储我所有的 API KEY 和 API SECRET KEY?有没有一种(简单的)安全的方法来做到这一点,而不必进行身份验证和/或完整的后端。

我到处都读到你不应该在你的应用程序中存储任何秘密密钥,我明白为什么。但是我在任何地方都找不到简单的解决方案?

我找到了以下包:

https://github.com/goatandsheep/react-native-dotenv 但我怀疑它是否解决了这个问题,因为它还保留了应用程序中的所有内容。

我发现以下自述文件:

https://github.com/EQimper/blog/blob/master/content/post/where-do-i-put-secret-key-in-expo-project.md 但我真的不认为它使任何安全.

我真的希望有人能引导我找到解决这个问题的最简单的方法。如果解决方案是:有一个后端并使用此身份验证服务,请多加开发它(任何教程或其他信息?)

看到我的应用程序已完全准备就绪,但出于安全原因我无法将其放到网上,这让我非常沮丧。

非常感谢。

api-key react-native expo create-react-native-app

5
推荐指数
1
解决办法
3678
查看次数

Xcode:如何编译环境变量并在 Swift 中引用它们?

我在 CI/CD 平台上定义了一个 API 密钥,如下所示:

export API_KEY="XXXXXXXXXX"

有没有办法可以用我的构建以某种方式编译这个变量,这样我就可以在 Swift 中引用它,而不必担心在运行时在二进制环境中定义的变量?ProcessInfo.processInfo.environment很明显我用不了,因为API key只在我的CI/CD环境中定义。我想用密钥编译我的二进制文件,以便在我分发我的应用程序时可以使用密钥。

我的用例是我想避免将 API 密钥放在我的 git 存储库中,而是在生成构建时从 CI/CD 平台获取它。如果有一种方法可以注入一个环境变量,然后将其编译为二进制文件的一部分,那将是理想的。

xcode compilation api-key swift

5
推荐指数
1
解决办法
2297
查看次数

无需设置结算帐户的 Google Maps Api

可以在没有 API KEY 的情况下使用 google Maps Api 吗?

使用

http://maps.googleapis.com/maps/api/geocode/xml?address=[address]&sensor=false
Run Code Online (Sandbox Code Playgroud)

我收到以下错误响应

REQUEST_DENIED(验证对 Google Maps Platform API 的每个请求)

我只需要为我的项目做一点 POC。

在另一种情况下,我创建了一个 api 密钥,它需要启用计费。

在结算过程中,信用卡是强制性的。

是不是可以免费激活apiKey?

谢谢 ;)

billing google-api api-key google-geocoder

5
推荐指数
1
解决办法
7245
查看次数

在 Google AppScript 用户属性中存储 API 密钥和机密

我对 Google AppScript 很陌生,试图编写一个连接到自定义 REST API 的连接器。对于那个 API,我需要一个 API 密钥(或秘密),这是每个用户的。由于在脚本中以纯文本形式存储秘密并不是最好的主意,我想将它存储在Google PropertyService 中并从那里检索它。像这样:

var userProperties = PropertiesService.getUserProperties();
var apiKey = userProperties.getProperty('MY_SECRET')
Run Code Online (Sandbox Code Playgroud)

但我不明白的是,用户怎么能先存储密钥?我还没有找到任何用户(在本例中是我)可以查看或编辑属性的地方。然后我发现了这个很好的用户属性介绍,它在脚本容器中创建了一个菜单,允许用户手动输入机密。

const API_KEY = 'API_KEY';

var ui = SpreadsheetApp.getUi();
var userProperties = PropertiesService.getUserProperties();


function onOpen(){
  ui.createMenu('API Keys')
    .addItem('Set API Key', 'userPromptApiKey')
    .addItem('Delete API Key', 'deleteApiKey')
  .addToUi();
}


function userPromptApiKey(){
  var userValue = ui.prompt('API Key ', ui.ButtonSet.OK);
  // ToDo: add current key to the prompt
  userProperties.setProperty(API_KEY, userValue.getResponseText());
}


function deleteApiKey(){
  userProperties.deleteProperty(API_KEY)
}
Run Code Online (Sandbox Code Playgroud)

问题是,我的脚本没有绑定到任何容器(没有电子表格,没有文档)。相反,我想稍后在 Google DataStudio 中使用它。这就是为什么

SpreadsheetApp.getUi(); …
Run Code Online (Sandbox Code Playgroud)

javascript user-input properties api-key google-apps-script

5
推荐指数
1
解决办法
2192
查看次数