Basic Authentication (Encode Credentials to Base 64)

Some API platforms may use Basic Access Authentication. With Basic Authentication, the request Key is ‘Authorization‘, and the Value is ‘Basic ‘+ the base 64 encoding of a user ID and password.

The below article provides a simple form for encoding credentials, as well as instructions on how to enter them into the API Connector add-on for Google Sheets.

Contents

Part 1: Encode credentials form

To encode your credentials, type your username and password into this form, using the format username:password. Your encoded credentials will appear underneath.

The encoding script runs in your browser, and none of your credentials are seen or stored by this site.

 

 

 

Some platforms may require you to encode slightly different details, e.g. an API key instead of a user name, or a plus sign (+) instead of a colon in the middle. The platform documentation should contain the exact details of what needs to be encoded.

Part 2: Other methods of encoding credentials

If you have any issues using the form above, please check these alternate methods of encoding your credentials to base 64.

  1. Encode your credentials yourself by opening Developer Tools in your browser (F12 on Windows/Linux or option + ⌘ + J on OSX). In the console, type in the following and click enter:
    encodedData = "Basic " + window.btoa('YOUR_USERNAME:YOUR_PASSWORD')

    You’ll need to substitute in your own user credentials for YOUR_USERNAME and YOUR_PASSWORD, like this:
    basic-access-img1

    Copy this value (without the quotation marks).

  2. Try a header generator tool like this one.

Part 3: Enter encoded credentials into API Connector

Under Headers, enter Authorization as your Key, and Basic YOUR_BASE64_ENCODED_STRING as the Value, like this:

AuthorizationBasic YOUR_BASE64_ENCODED_STRING

It should look like this:
basic-access-img2

Appendix: Automatic basic authentication

As an alternative to the instructions above, API Connector will automatically apply basic authentication if you enter your credentials as https://{username}:{password}@api.com. For example, this URL would automatically encode your credentials in a call to Shopify:

https://{username}:{password}@shop.myshopify.com/admin/api/2020-04/shop.json

As before, the specifics of what need to be entered will depend on your platform. When you enable automatic basic authentication, you do not need to encode your credentials manually and shouldn’t enter an Authorization header key/value pair. (If you enter a basic access Authorization header while also using automatic basic authentication, the Authorization header will take precedence).

Leave a Comment