Github oauth for micro
Add github authentication to your micro in few lines of code. This module is a part of microauth collection.
npm install --save microauth-github
# or
yarn add microauth-github
app.js
const { send } = require('micro');
const microAuthGithub = require('microauth-github');
const options = {
clientId: 'CLIENT_ID',
clientSecret: 'CLIENT_SECRET',
callbackUrl: 'http://localhost:3000/auth/github/callback',
path: '/auth/github',
scope: 'user'
};
const githubAuth = microAuthGithub(options);
// third `auth` argument will provide error or result of authentication
// so it will { err: errorObject } or { result: {
// provider: 'github',
// accessToken: 'blahblah',
// info: userInfo
// }}
module.exports = githubAuth(async (req, res, auth) => {
if (!auth) {
return send(res, 404, 'Not Found');
}
if (auth.err) {
// Error handler
return send(res, 403, 'Forbidden');
}
return `Hello ${auth.result.info.login}`;
});
Run:
micro app.js
Now visit http://localhost:3000/auth/github
Also you can see micro-github. This is ready for deploy microservice from @mxstbr