Dekódování jména uživatele z trusted headers
This commit is contained in:
@@ -61,8 +61,9 @@ app.get("/api/whoami", (req, res) => {
|
||||
app.post("/api/login", (req, res) => {
|
||||
// Autentizace pomocí trusted headers
|
||||
const remoteUser = req.header('remote-user');
|
||||
if (remoteUser && remoteUser.length > 0) {
|
||||
res.status(200).json(generateToken(remoteUser, true));
|
||||
const remoteName = req.header('remote-name');
|
||||
if (remoteUser && remoteUser.length > 0 && remoteName && remoteName.length > 0) {
|
||||
res.status(200).json(generateToken(Buffer.from(remoteName, 'latin1').toString(), true));
|
||||
return;
|
||||
}
|
||||
// Klasická autentizace loginem
|
||||
@@ -91,8 +92,12 @@ app.get("/api/qr", (req, res) => {
|
||||
|
||||
/** Middleware ověřující JWT token */
|
||||
app.use((req, res, next) => {
|
||||
if (req.header('remote-user')) {
|
||||
console.log("Tvuj username: %s.", req.header('remote-user'));
|
||||
const userHeader = req.header('remote-user');
|
||||
const nameHeader = req.header('remote-name');
|
||||
const emailHeader = req.header('remote-email');
|
||||
if (userHeader !== undefined && nameHeader !== undefined) {
|
||||
const remoteName = Buffer.from(nameHeader, 'latin1').toString();
|
||||
console.log("Tvuj username, name a email: %s, %s, %s.", userHeader, remoteName, emailHeader);
|
||||
}
|
||||
if (!req.headers.authorization) {
|
||||
return res.status(401).json({ error: 'Nebyl předán autentizační token' });
|
||||
|
||||
Reference in New Issue
Block a user