This Sample API handles secure requests for Book Publishers and eStore alike. It uses open source DRM technology from ErdLab, https://www.edrlab.org/
It's using Okta authentication the secure the endpoints and as such requires an account with Okta from a dev authentication server I have put together under: https://dev-998545.okta.com/
For Book Publishers:
- CRUD ops for own .epub publication
- Sales/Rent information
For eStore:
- CRUD ops for Book licenses
- Securing your API using Okta middleware for Node Express
- Enabling File Upload in your API
- Automating DRM activities with backend ErdLab servers
- CRUD operations with Elasticsearch
- Using sentry.io for logging
- Handling ePub formats
- and others
- Familiarity with setting up Okta and understanding authentication mechanisms such as jwt tokens
- Familiarity with Node Express
- Familiarity with ErdLab DRM licensing technology
- Good understanding of Elasticsearch CRUD operations and node Client
Jon Ujkani
After cloning the repository, simply run npm install
to install the dependencies.
Env variables are handled through the settings in .env
file. One exception to that is the ESPWD which needs to be manually set on the server machine for security reasons
To chose which .env file to use export env NODE_ENV with one of following values 'DEV', 'PROD'
To run the server, run npm start
from the terminal.
To make secure API requests, you'll need to authenticate the user with Okta to get a jwt token (make sure scope includes scope=openid profile email bookclubscope)