firebase-admin-java icon indicating copy to clipboard operation
firebase-admin-java copied to clipboard

Parse GOOGLE_APPLICATION_CREDENTIALS as JSON if it begins with '{'

Open imherrera opened this issue 1 year ago • 1 comments

Is your feature request related to a problem? Please describe. I do not want to commit my credentials file to github, and when running my app inside another enviroment such as Heroku, i run into the trouble because even though i can specify ENV variables i must provide a file path for GOOGLE_APPLICATION_CREDENTIALS, which is inconvenient because im using git to deploy to heroku

Describe the solution you'd like Parse GOOGLE_APPLICATION_CREDENTIALS as JSON if it begins with '{', otherwise assume is a file path.

Describe alternatives you've considered Adding additional code that reads an env var which contains the credential json, this is inconvenient because i will need to copy and paste this code for all my projects that use firebase admin

        fun createApp(): FirebaseApp {
            val credentials = System.getenv("FIREBASE_CONFIG")
                .byteInputStream()
                .use { stream -> ServiceAccountCredentials.fromStream(stream) }
            val config = FirebaseOptions.builder()
                .setCredentials(credentials)
                .build()
            return FirebaseApp.initializeApp(config)
        }

imherrera avatar Feb 21 '24 14:02 imherrera

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

google-oss-bot avatar Feb 21 '24 14:02 google-oss-bot