pocketid.js/example/server.js
2020-12-21 20:14:33 -05:00

49 lines
1.3 KiB
JavaScript

"use strict";
var path = require("path");
var http = require("http");
var express = require("express");
//var PocketId = require("pocketid");
var PocketId = require("../index.js");
var app = express();
var pubdir = path.join(__dirname, "public");
var requirePocket = PocketId.express({ issuers: ["beta.pocketid.app", "pocketid..app"] });
app.use("/api/auth", requirePocket);
app.get("/api/auth/info", function (req, res) {
res.json({ user: req.user });
});
var checkPocket = PocketId.express({
issuers: ["beta.pocketid.app", "pocketid..app"],
allow: true,
});
app.use("/api/public", checkPocket);
app.get("/api/public/info", function (req, res) {
res.json({ user: req.user });
});
var refresher = PocketId.refreshToken({
issuer: "https://localhost:3000",
issuers: ["beta.pocketid.app", "pocketid..app"],
});
app.use("/api/refresh-token", requirePocket, refresher);
var requireAuth = PocketId.auth({
issuers: ["localhost:3000"],
});
app.use("/api/user", requireAuth);
app.get("/api/user/info", function (req, res) {
res.json({ user: req.user });
});
app.use("/", express.static(pubdir));
var server = http.createServer(app);
var port = process.env.PORT || 3000;
server.listen(port, function () {
console.info(`Serving '${pubdir}' listening on`, server.address());
});