簡體   English   中英

Python Firebase 管理員 SDK,提供的憑證非法 Firebase

[英]Python Firebase Admin SDK, Illegal Firebase credential provided

我正在嘗試在 Django 應用程序上使用 .env 文件初始化 Firebase Admin SDK,但出現以下錯誤:

Illegal Firebase credential provided. App must be initialized with a valid credential instance

初始化代碼:


from dotenv import load_dotenv

load_dotenv()  # take environment variables from .env.

 firebase_admin.initialize_app({
                "type": os.getenv("TYPE"),
                "project_id": os.getenv("PROJECT_ID"),
                "client_email": os.getenv("CLIENT_EMAIL"),
                "private_key":  os.getenv("PRIVATE_KEY"),
                "client_id":  os.getenv("CLIENT_ID"),
                "private_key_id":  os.getenv("PRIVATE_KEY_ID"),
                "auth_uri":  os.getenv("AUTH_URI"),
                "token_uri":  os.getenv("TOKEN_URI"),
                "auth_provider_x509_cert_url":  os.getenv("AUTH_PROVIDER_X509_CERT_URL"),
                "client_x509_cert_url":  os.getenv("CLIENT_X509_CERT_URL"),
            })

我在這篇文章的評論中找到了對我有用的解決方案: Initializing Firebase Admin via Environment Variables without storing serviceAccount.json

基本上我將所有 firebase 憑據 json 存儲在 one.env 變量中(它應該在一行中)並像這樣使用它:


from dotenv import load_dotenv

load_dotenv()  # take environment variables from .env.


firebaseConfig = json.loads(os.getenv("FIREBASE_CREDENTIALS", "{}"))


class FCMController:
    def __init__(self):
        if not firebase_admin._apps:  # check if firebase_admin is initialized
            firebase_admin.initialize_app(
                credential=credentials.Certificate(firebaseConfig))

暫無
暫無

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

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