簡體   English   中英

如何從 JSON 文件訪問環境變量?

[英]How to access environment variables from JSON file?

我在我的 nextjs 應用程序中使用 firebase 身份驗證。 我已將我的服務帳戶憑據存儲在名為 secret.json 的文件中。 我想在我的 next.config.js 文件中隱藏這些憑據。 如何訪問 secret.json 文件中的這些憑據? 也許這不僅適用於 nextjs 應用程序,也適用於其他應用程序。 實現這一目標的常用方法是什么,或者 nextjs 應用程序有什么特定方法?

您可能會考慮將您的私鑰存儲為環境變量,Next.js 已內置支持 然后,您可以避免在next.config.js中暴露您的秘密的風險,並且 Heroku 和Vercel等服務可以讓您在生產環境中輕松安全地存儲環境變量。

要在您的服務器上初始化 Firebase,您只需要從您的secret.json文件中獲取 3 個東西:

  • project_id
  • client_email
  • private_key - 將其存儲為環境變量(例如,FIRESTORE_PRIVATE_KEY)

然后,您可以使用 firebase -admin package 在您的服務器上初始化 Firebase:

import { cert, initializeApp } from 'firebase-admin/app'

const serviceAccount = {
  projectId: 'my-project',
  clientEmail: 'myServiceAccount@my-project.iam.gserviceaccount.com',
  privateKey: process.env.FIRESTORE_PRIVATE_KEY,
}

const credential = cert(serviceAccount)

initializeApp({ credential })    

private_key保存為自己的 env var 還可以避免由於嘗試將整個 Firestore json 保存/解析為 env var(例如, ENAMETOOLONG錯誤)而產生的問題,並且不需要您進行任何字符串操作

暫無
暫無

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

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