![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Node.js client for the Box.com Content API.
The SDK aims to abstract away the intricacies of authentication, refreshing tokens, etc. as far as possible. Hence, you will not find explicit methods to perform low-level operations.
All legitimate public methods map to the high level functionality described in the Content API docs.
Install the module with: npm install box-sdk
var box_sdk = require('box-sdk');
var logLevel = 'debug'; //default log level on construction is info
//Default host: localhost
var box = box_sdk.Box({
client_id: 'client id',
client_secret: 'client secret',
port: 9999,
host: 'somehost' //default localhost
}, logLevel);
var connection = box.getConnection('some.email@example.com');
//Navigate user to the auth URL
console.log(connection.getAuthURL());
connection.ready(function () {
connection.getFolderItems(0, {limit: 1}, function (err, result) {
if (err) {
console.error(JSON.stringify(err.context_info));
}
console.dir(result);
});
});
Note: There is a complete express example in this gist.
var express = require('express'),
passport = require('passport'),
BoxStrategy = require('passport-box').Strategy,
box_sdk = require('../../..');
...
var box = box_sdk.Box();
...
passport.use(new BoxStrategy({
clientID: BOX_CLIENT_ID,
clientSecret: BOX_CLIENT_SECRET,
callbackURL: "http://127.0.0.1:" + PORT + "/auth/box/callback"
}, box.authenticate()));
...
var app = express();
...
app.get('/auth/box', passport.authenticate('box'), function (req, res) {});
app.get('/auth/box/callback',
passport.authenticate('box', {
failureRedirect: '/login'
}),
function (req, res) {
res.redirect('/');
});
app.get('/', function (req, res) {
var opts = {
user: req.user
};
if (req.user) {
var connection = box.getConnection(req.user.login);
connection.ready(function () {
connection.getFolderItems(0, null, function (err, result) {
if (err) {
opts.body = err;
} else {
opts.body = result;
}
res.render('index', opts);
});
});
} else {
res.render('index', opts);
}
});
var connection = box.getConnection('some.email@example.com');
//Navigate user to the auth URL
console.log(connection.getAuthURL());
connection.ready(function () {
connection.startLongPolling();
//Monologue subscription filter to catch all polling events
connection.on('polling.event.#', function (data) {
console.log('Received event: %s', data.event_type);
//Handle event
...
});
connection.on('polling.end', function() {
//Continue with post-polling ops
...
});
connection.on('polling.error', function (err) {
console.error(err);
});
//Conquer the universe, etc
...
//In some block later...
//connection.stopLongPolling();
};
Before running your tests locally, copy test/env.json.example
to test/env.json
and fill in correct values for the environment variables to be imported during testing.
The casperjs
and phantomjs
executables must be available in the enviroment path. Usually it is enough to run:
$ (sudo) npm install -g phantomjs
$ (sudo) npm install -g casperjs
Run all tests with:
$ grunt mochaTest
The files under test/integration
are completely self-contained, and hence can be run independently. For example:
$ grunt mochaTest --target=./test/integration/api/content/folders-test.js
API documentation is generated by running:
$ grunt jsdoc
The generated documentation is available in the dist/docs
folder. An up-to-date online version is hosted at http://adityamukho.github.io/node-box-sdk/ .
Complete tutorials will soon be added to the documentation. In the meantime, have a look at the included test cases to get an idea of how the SDK is used.
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Copyright (c) 2014-2015 Aditya Mukhopadhyay
Licensed under the MIT license.
FAQs
Node.js client for Box Content API
The npm package box-sdk receives a total of 0 weekly downloads. As such, box-sdk popularity was classified as not popular.
We found that box-sdk demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.