簡體   English   中英

使用 expo 庫在 react-native 應用程序中存儲 API 密鑰

[英]Storing API Keys in react-native app with expo library

我有一個問題,請盡可能簡單地解釋一下。 我是本機反應的新手,以安全的方式存儲 API 密鑰的最佳方式是什么,他們無法對其進行逆向工程並立即獲取密鑰。 我可以僅在用戶登錄時使用restapi從服務器端檢索它以獲取apikey嗎? 我正在嘗試將圖片上傳到 aws 存儲,但我想將 APIKey 存儲在至少黑客難以檢索的地方。 另外,有沒有辦法通過服務器 express.js(從 react native 到 express 應用程序)發送圖像我該怎么做,所以我可以將它上傳到 aws 存儲,或者即使它可以在 mongodb 上而不是 aws 存儲上。

例如:

const express = require("express");
const requireAuth = require("../middlewares/requireAuth");
const router = express.Router();
router.use(requireAuth); //make sure they are signed in

/**
 * * GET: Api key for the amazon s3 bucket storage
 */
router.get("/apikey/amazonstorage", (req, res) => {
  const APIKEY = process.env.APIKEY;
  if (APIKEY) {
    res.status(200).send(APIKEY);
  } else {
    res.status(502).send(null);
  }
});

先感謝您

一般來說,處理 API 密鑰最安全的方法是將它們存儲在后端服務器上,並讓服務器向客戶端的第三方 API 發出這些請求(並在必要時將結果發送回客戶端)。

來自React Native 文檔

如果您必須擁有 API 密鑰或機密才能從您的應用程序訪問某些資源,那么處理此問題的最安全方法是在您的應用程序和資源之間構建一個編排層。 這可能是一個無服務器函數(例如,使用 AWS Lambda 或 Google Cloud Functions),它可以使用所需的 API 密鑰或密鑰轉發請求。 API 使用者無法訪問服務器端代碼中的秘密,就像您的應用程序代碼中的秘密一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM