50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
"use strict";
|
|
|
|
import path from "path";
|
|
import http from "http";
|
|
import express from "express";
|
|
|
|
//import PocketId from "pocketid";
|
|
import PocketId from "../index.js";
|
|
|
|
var app = express();
|
|
var dirname = path.dirname(import.meta.url.slice("file:".length));
|
|
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());
|
|
});
|