1.0.5 • Published 4 years ago
holibobauth v1.0.5
HOLIBOB Auth
This plugin produces the necessary headers including the HMAC based authentication for requests to the Holibob API.
You must call the function with the following args:
- apiKey: YOUR API KEY
- secret: YOU SECRET
- body: The full body of the request - ie the GQL query and variables
- method: OPTIONAL - Defaults to "POST"
- path: OPTIONAL - Defaults to "/graphql"
The function returns an object containing the three headers that must be added to your request:
- x-api-key: YOUR API KEY
- x-holibob-date: THE CURRENT SYSTEM DATE TIME
- x-holibob-signature: A SIGNATURE - computed from a hash of the request, date and YOUR SECRET
Implementation
Import the package
const holibobAuth = require("./index");
Setup the three required args.
In the example below the body we are sending is the most simple, being a call for the welcome query that will return amongst other things your authentication status
const apiKey = "YOUR_HOLIBOB_API_KEY";
const secret = "YOUR_HOLIBOB_SECRET";
const body = JSON.stringify({ query: "{ welcome }" });
const args = {
apiKey,
secret,
body,
};
Pass the args to the package and retrieve the headers that are returned.
const holibobHeaders = holibobAuth(args);
Add any further headers that you may require such as content-Type, X-Holibob-Currency etc
const headers = { "Content-Type": "application/json", ...holibobHeaders };
Finally, send the request to the Holibob API using whatever http client you have selected.