UNPKG

publication-igid

Version:

Authorization gateway relying on an auth service for providing user editing interfaces

100 lines (56 loc) 5.89 kB
# Publication IGID **publication-igid** is a [copious-transitions-apps](https://github.com/copious-world/copious-transition-apps) package. This package handles session verification for publication actions and sets up transition tokens for media uploading The npm page: [**publication-igid**](https://www.npmjs.com/package/publication-igid) **publication-igid** uses a session and delivers a transition token packet to calling web pages when those calling pages need to perform operations such as uploading a file to persistence services. It also forwards commands handling the state of public awareness of a media item. [copious-transitions](https://github.com/copious-world/copious-transitions) is a generalized framework for handling state transtitions from web clients as well as from [message-relay-services](https://www.npmjs.com/package/message-relay-services) endpoints. [copious-transitions-apps](https://github.com/copious-world/copious-transition-apps) are descendants of the ***CopiousTransitions*** class exported from [copious-transitions](https://github.com/copious-world/copious-transitions) Intergalactic identities may be obtained on the of-this.world website. At the following address: [of-this.worldig/igid-creator/](https://www.of-this.world/igid-creator/) ## Installation **publication-igid** is an npm package: [**publication-igid**](https://www.npmjs.com/package/publication-igid) The **publication-igid** package provides a bash command line which can be accessed if the package is installed globally as such: ``` npm install -g publication-igid ``` This installation will create a script link in the ***bin*** directory configured for your npm. You should be able to confirm its installation with the following command: ``` which igid-publisher ``` ### running the program The ***igid-publisher*** program will run if a configuration file can be read from the working directory. If the working directory contains a configuration file with the name, **publication-service.conf** the program can be run by just entering the command name: ``` igid-publisher ``` Otherwise, a configuration file must be specified: ``` igid-publisher custom.conf ``` ## Making connections **igid-publisher** may start up with default connections to databases and services. But, the connections may be set after it starts listening on all of its servers. The way to make custom connections to services (likely better than the defaults) is to make use of the tool, [**`com_link_manager`**](https://www.npmjs.com/package/com_link_manager). The tool can be installed on your system using npm as such: ``` npm install -g com_link_manager ``` Then, run this command with a configuration file name parameter (required). ``` com_link_manager link_construction_conf.conf ``` The configuration files for this tool are JSON formatted instructions telling the target program (running program) what classes to load, instantiate, and initialize. Refer to [**`com_link_manager`**](https://www.npmjs.com/package/com_link_manager) for examples. ## Siblings **publication-igid** provides basic registration, login, and verification pathways. For a very simple application it can run by itself. But, most websites will have more operations for a user to do. **publication-igid** provides publication operations for websites that are authorized by [captcha-igid](https://www.npmjs.com/package/captcha-igid). **publication-igid** will not operate outside of the **captcha-igid** context. [copious-transitions-apps](https://github.com/copious-world/copious-transition-apps) provides a few other programs that can share session information managed by **publication-igid**. Here is a list of some other npm packages for running associated processes for uploading and asset access: * [captcha-igid](https://www.npmjs.com/package/captcha-igid) * [media-up-igid](https://www.npmjs.com/package/media-up-igid) * [media-up-lite-igid](https://www.npmjs.com/package/media-up-lite-igid) * [verify-session-backend](https://www.npmjs.com/package/verify-session-backend) * [counter-access-igid](https://www.npmjs.com/package/counter-access-igid) ## Web Service Media finds its way into the persistence storage through an upload service. The upload service may allow uploads that are sanctioned by the publication service. **publication-igid** handles publication operations, such as publish, retract, delete. **publication-igid** initiates uploading by an uploading service that introduces files to the respositories used by persistence services that **publication-igid** interacts with. An upload service must get a ticket, a transition token, from **publication-igid** in order to finilize an upload. **publication-igid** handles the first stages of authentication by checking on sessions made by [captcha-igid](https://www.npmjs.com/package/captcha-igid) and forces an uploader to use a token key to unlock state transitions associated with taking in chunks of files. The entire upload process requires a primary client and a secondary client. Primary web clients send a request for media uploading to **publication-igid**. **publication-igid** manages the session with [captcha-igid](https://www.npmjs.com/package/captcha-igid) utilizing crypto keys provided by the primary client. **publication-igid** forwards the upload request (a transition) to the a chosen upload service such as [media-up-igid](https://www.npmjs.com/package/media-up-igid) to be used as a primary transition. Secondary web clients communicate with the primary clients in order to obtain the session and token information necessary to finalize media uploading. The secondary transition request, uses the transition token yielded by the primary, where the primary web service received those tokens from **publication-igid**. The services work together using eliptic key derivation of cipher keys.