Skip to content

Parse GOOGLE_APPLICATION_CREDENTIALS as JSON if it begins with '{' #916

Open
@imherrera

Description

@imherrera

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)
        }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions