Skip to content

Instantly share code, notes, and snippets.

@philliplakis
Created September 10, 2019 05:14
Show Gist options
  • Save philliplakis/b5e036abaea55f985bdd63554d14ec19 to your computer and use it in GitHub Desktop.
Save philliplakis/b5e036abaea55f985bdd63554d14ec19 to your computer and use it in GitHub Desktop.
const express = require("express");
const router = express.Router();
const webauthnTools = require("./tools");
const base64url = require("base64url");
const { User } = require("../../model/users");
router.post("/", async (req, res, next) => {
const name = req.user.name;
const username = req.user.email;
var Schema = {
active: true,
authenticators: [],
id: webauthnTools.randomBase64URLBuffer()
};
let challengeMakeCred = webauthnTools.generateServerMakeCredRequest(
username,
name,
Schema.id
);
challengeMakeCred.status = "ok";
try {
await User.findOneAndUpdate(
{
_id: model.ObjectId(req.user.id)
},
{ $set: { webauthn: Schema } }
);
challengeMakeCred.DBupdate = "ok";
res.json(challengeMakeCred);
} catch (err) {
challengeMakeCred.DBupdate = "failed";
challengeMakeCred.DBupdateError = err;
res.json(challengeMakeCred);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment