1.6.5 • Published 10 years ago

box-appauth v1.6.5

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

Box AppAuth SDK

https://box-content.readme.io/v2.0/docs/app-auth

Usage

You will need to create a Box account and proper public/private keys, and register them with Box.

Then:

var appAuth = require('box-appauth');

appAuth({
	publicKey : Your public key,
	privateKey : Your private key,
	algorithm : one of ['RS256','RS384','RS512'], Default 'RS256'
	issuer : The same as #clientId,
	subject : An app id(#user) or enterprise id(#enterprise),
	subjectType : 'user' or 'enterprise',
	clientId : Your client id,
	clientSecret : Your client Secret,
    publicKeyId: The id of your public key,
    callRetryMax: The number of call retries before giving up,
    minutesUntilTokenRefresh: Lifespan of a token in minutes. Must be >= 5 & <=50
})
.then(function(api) {

	...do something with the Promise based api

	api.folders
	.methodA({...})
	.then(function(resultOfMethodA) {
	   return api.folder.methodB()
	})
	.then(function(resultOfMethodB) {
	    // etc across as many calls as you'd like, all
	    // executed "sequentially".
	})
	.catch(function(err) {
	    ...
	})

})
.catch(function(err) {
	console.log("** Unable to authenticate **", err);
});

Tests

You will need to create a .credentials.js folder in the root of the application using this module.

This file should look something like this:

"use strict";

var fs = require('fs');
var path = require('path');

module.exports = {
	publicKey : fs.readFileSync(path.resolve('./rsa/public_key.pem')),
	privateKey : fs.readFileSync(path.resolve('./rsa/private_key.pem')),
	algorithm : 'RS256',
	issuer : '<same as #clientId>',
	subject : '<an app id(#user) or enterprise id(#enterprise)>',
	subjectType : '<user or enterprise>',
	clientId : '<your client id>',
	clientSecret : '<your client Secret>',
    publicKeyId: '<the id of your public key>
};

To run all tests:

node test

or

npm test

To run individual, or a few individual, tests look in the test/spec folder and use the file names:

node test folders
node test folders folder_graph
1.6.5

10 years ago

1.6.4

10 years ago

1.6.3

10 years ago

1.6.2

10 years ago

1.6.1

10 years ago

1.6.0

10 years ago

1.5.0

10 years ago

1.4.0

10 years ago

1.3.11

10 years ago

1.3.10

10 years ago

1.3.9

10 years ago

1.2.9

10 years ago

1.2.8

10 years ago

1.1.8

10 years ago

1.1.7

10 years ago

1.0.7

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