1.0.29 • Published 9 years ago
authchio v1.0.29
Authchio
Authentication and authorization middleware for Node.js application
Installation
First install Node.js and MongoDB. Then:
$ npm install authchioAuthentication usage
Connect to MongoDB
const authchio = require("authchio");
authchio.connect("mongodb://localhost/test", err =>
{
// Add strategies
});Add strategy
authchio.addCredentialsCookiesStrategy("credentials", { expiresIn: 3600 * 24 });
authchio.addFacebookCookiesStrategy("facebook", { appId: xxx, appSecret: xxx, expiresIn: 3600 * 24, secure: true });Register user
authchio.register("credentials", request, response, { username: "foo", password: "bar" }, (err, isSuccessful) =>
{
// Create app specific profile
});
authchio.register("facebook", request, response, { userToken: xxx }, (err, isSuccessful) =>
{
// Create app specific profile
});Log user in
authchio.token("credentials", request, response, { username: "foo", password: "bar" }, (err, isSuccessful) =>
{
if(err) // database/server error
if(!isSuccessful) // no user / wrong password
});
authchio.token("facebook", request, response, { userToken: xxx }, (err, isSuccessful) =>
{
// Update latest login timestamp
});Authenticate subsequent request
authchio.authenticate(request, response, {}, (err, user) =>
{
if(!user) return; // login failed
});Log user out
authchio.revoke("credentials", request, response, null, (err, isSuccessful) =>
{
});Authorization usage
Register role
You have to register roles everytime authchio starts
authchio.registerRole("admin");
authchio.registerRole("user");Grant role
Grant role to user when they sign up
authchio.grantRole("admin", "username", (err) =>
{
});Add rule
You have to add rules everytime authchio starts
authchio.addRule("API", "getUsers");
authchio.addRule("WEB", "users");Authorize
Authorize resource access, throw if callback is not passed to the function
authchio.authorize(request, response, "API", "getUsers", err =>
{
console.log(err.message); // Unauthorized access for "getUsers" in "API", required roles: [admin], granted roles: [user]
});
try
{
authchio.authorize(request, response, "API", "getUsers");
}
catch(err)
{
console.log(err.message); // Unauthorized access for "getUsers" in "API", required roles: [admin], granted roles: [user]
}1.0.29
9 years ago
1.0.28
10 years ago
1.0.27
10 years ago
1.0.26
10 years ago
1.0.25
10 years ago
1.0.24
10 years ago
1.0.23
10 years ago
1.0.22
10 years ago
1.0.21
10 years ago
1.0.20
10 years ago
1.0.19
10 years ago
1.0.18
10 years ago
1.0.17
10 years ago
1.0.16
10 years ago
1.0.15
10 years ago
1.0.14
10 years ago
1.0.13
10 years ago
1.0.12
10 years ago
1.0.11
10 years ago
1.0.10
10 years ago
1.0.9
10 years ago
1.0.8
10 years ago
1.0.6
10 years ago
1.0.5
10 years ago
1.0.4
10 years ago
1.0.3
10 years ago
1.0.2
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago