1.0.5 • Published 5 years ago
holibobauth
Licence
MIT
Version
1.0.5
Deps
2
Size
4 kB
Vulns
2
Weekly
0
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.