Search code examples
firebasefirebase-authenticationpostman

Get Firebase Access Token in POSTMAN


In my web application, I am using Firebase for Authentication, to access any API, I have to authenticate from firebase.

Question: How can I get access token of firebase in Postman?

I have 2 solutions for this problem:

1) Get Access Token from firebase in postman, store that access token in postman global env. variable and then I can do other API request. (Here I don't know how to get access token in postman)

2) Do the login in the browser, copy access token from network request, store it in bash_profile and then use it in Postman. (Here I don't know how to read OS env. variable)


Solution

  • An easy way to retrieve the access token from firebase is to:

    1. create an html file in a directory
    2. copy in the html file the content of firebase auth quickstart
    3. replace the firebase-app.js and firebase-auth.js as explained in firebase web setup to point them at the proper cdn location on the web
    4. replace firebase.init script with the initialization code from your app on the console like this:
    var config = {
        apiKey: "my secret api key",
        authDomain: "myapp.firebaseapp.com",
        databaseURL: "https://myapp.firebaseio.com",
        projectId: "myapp-bookworm",
        storageBucket: "myapp.appspot.com",
        messagingSenderId: "xxxxxxxxxxxxx"
    };
    firebase.initializeApp(config);
    
    1. open the html file in your browser and either sign in or sign up. The Firebase auth currentUser object value should be displayed.

      1. inspect the html and expand the quickstart-account-details element. This should have the json object displayed.

      2. copy the content of accessToken

      3. In postman go to authorization, select bearer token and paste the copied token in the token value field.

    You should be now able to call apis that are secured by firebase auth. Keep in mind that this only gets and passes the access token so once the token is expired you may need to request a new one (steps 5 to 8)

    you can also look at this
    Hope this helps!