Public API for a society manager application
|
|
преди 9 години | |
|---|---|---|
| .gitignore | преди 9 години | |
| LICENSE | преди 10 години | |
| README.md | преди 9 години | |
| index.js | преди 9 години | |
| package.json | преди 10 години |
Server for Integrated Project, powered by Express.js and Redis
Instructions are for OSX El Capitan at time of writing.
First install the Redis server:
brew install redis
Then clone this repository:
git clone https://github.com/Alpha-Atom/ip-project-server.git
And finally, install the dependencies
npm install
To run, first start Redis:
redis-server
Then start the Express framework using:
node index.js
Returns "Hello :name!" or simply "Hello World!" if no name is present. :)
In order to register a new user account, a POST request should be sent, with
the following data:
{
"user": "FooBar", // Desired username goes here
"password": "hunter2" // Desired password goes here
}
The server will then respond with a JSON object that looks something like this:
{
"registered": 1, // Value is 1 or 0 based on whether registration was successful
"auth-key": "$2a$10$.X9YrNyd2R7b2ycAumHn.ONiINs2bCkRDupugu6sjZkUkPmXSaSra", // Value is an authentication key to be used in API requests
"error": 0 // Error code, if an error occured. 0 indicates no error.
}
The value of the error code will be 1 if the username already exists.
In order to log into an account, or essentially request a new authentication
token, a POST request should be sent with the following data:
{
"user": "FooBar", // Username goes here
"password": "hunter2", // Optional field if auth-key is present
"auth-key": "$2a$10$.X9YrNyd2R7b2ycAumHn.ONiINs2bCkRDupugu6sjZkUkPmXSaSra" // Optional field if password is present
}
Using the auth-key will reset and generate a new authentication key, whereas password will simply get the current auth-key. In either case the following data will be returned:
{
"logged_in": 1, // Value is 1 or 0 whether or not the login was successful
"auth-key": "$2a$10$.X9YrNyd2R7b2ycAumHn.ONiINs2bCkRDupugu6sjZkUkPmXSaSra", // Only present if logged_in == 1, to be used in API requests
"error": 0 // Error code, if an error occured. 0 indicates no error.
}
The error codes are as follows, 1 indicates the username could not be found,
2 indicates that the password is invalid and 3 indicates the provided
authentication key was invalid.