blitzware-node-api-sdk
Version:
BlitzWare Node.js SDK for Backend / Resource Server and Machine-to-Machine (API)
32 lines (25 loc) • 834 B
JavaScript
const Koa = require("koa");
const Router = require("@koa/router");
const bodyParser = require("koa-bodyparser");
require("dotenv").config();
const { koaAuth, koaRequireAuth } = require("../dist");
const app = new Koa();
const router = new Router();
app.use(bodyParser());
app.use(
koaAuth({
clientId: process.env.BLITZWARE_CLIENT_ID,
clientSecret: process.env.BLITZWARE_CLIENT_SECRET,
})
);
router.get("/public", (ctx) => {
ctx.body = { ok: true, public: true };
});
router.get("/protected", koaRequireAuth(), (ctx) => {
ctx.body = { ok: true, user: ctx.state.auth && ctx.state.auth.payload };
});
app.use(router.routes()).use(router.allowedMethods());
const port = process.env.PORT;
app.listen(port, () =>
console.log(`Koa API example listening on http://localhost:${port}`)
);