![](/img/trans.png)
[英]How to access environment variables in JSON file for Golang project?
[英]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.