mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-19 09:50:15 +01:00
* added PassKey authentication. * fixed issue with test :) * Delete client/src/components/Auth/AuthLayout.tsx * fix: conflicted issue
44 lines
No EOL
1 KiB
JavaScript
44 lines
No EOL
1 KiB
JavaScript
const express = require('express');
|
|
const passport = require('passport');
|
|
const { setAuthTokens } = require('~/server/services/AuthService');
|
|
const router = express.Router();
|
|
|
|
router.get(
|
|
'/register',
|
|
passport.authenticate('webauthn', { session: false }),
|
|
(req, res) => {
|
|
res.json(req.user);
|
|
},
|
|
);
|
|
|
|
router.post(
|
|
'/register',
|
|
passport.authenticate('webauthn', { session: false, failureRedirect: '/login' }),
|
|
(req, res) => {
|
|
res.json({ user: req.user });
|
|
},
|
|
);
|
|
|
|
router.get(
|
|
'/login',
|
|
passport.authenticate('webauthn', { session: false }),
|
|
(req, res) => {
|
|
res.json(req.user);
|
|
},
|
|
);
|
|
|
|
router.post(
|
|
'/login',
|
|
passport.authenticate('webauthn', { session: false, failureRedirect: '/login' }),
|
|
async (req, res) => {
|
|
try {
|
|
const token = await setAuthTokens(req.user.id, res);
|
|
res.status(200).json({ token, user: req.user });
|
|
} catch (err) {
|
|
console.error('[WebAuthn Login Callback]', err);
|
|
res.status(500).json({ message: 'Something went wrong during login' });
|
|
}
|
|
},
|
|
);
|
|
|
|
module.exports = router; |