bell
Third-party authentication plugin for hapi.
Lead Maintainer: Adri Van Houdt
bell ships with built-in support for authentication using Facebook
, GitHub
, Google
,
Google Plus
, Instagram
, LinkedIn
, Slack
, Stripe
, Twitter
, Yahoo
, Foursquare
,
VK
, ArcGIS Online
, Windows Live
, Nest
, Phabricator
, BitBucket
, Dropbox
, Reddit
,
Tumblr
, Twitch
, Mixer
, Salesforce
, Pinterest
, Discord
, DigitalOcean
, AzureAD
,
trakt.tv
and Okta
.
It also supports any compliant OAuth 1.0a
and OAuth 2.0
based login services with a simple
configuration object.
Documentation
API Documentation
Providers Documentation
Tutorials
Social Login with Twitter using hapi.js
Examples
All Examples
Twitter:
const Bell = require('bell');
const Hapi = require('hapi');
const internals = {};
internals.start = async function () {
const server = Hapi.server({ port: 8000 });
await server.register(Bell);
server.auth.strategy('twitter', 'bell', {
provider: 'twitter',
password: 'cookie_encryption_password_secure',
clientId: 'my_twitter_client_id',
clientSecret: 'my_twitter_client_secret',
isSecure: false
});
server.route({
method: ['GET', 'POST'],
path: '/login',
options: {
auth: 'twitter',
handler: function (request, h) {
if (!request.auth.isAuthenticated) {
return `Authentication failed due to: ${request.auth.error.message}`;
}
return h.redirect('/home');
}
}
});
await server.start();
};
internals.start();