mirror of
https://github.com/imputnet/cobalt.git
synced 2025-06-28 17:38:31 +00:00
core/api: normalize bearer authorization
This commit is contained in:
parent
0e52e1f8b0
commit
d55dddea2e
@ -158,19 +158,20 @@ export const runAPI = (express, app, __dirname) => {
|
|||||||
return fail(res, "error.api.auth.jwt.missing");
|
return fail(res, "error.api.auth.jwt.missing");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!authorization.startsWith("Bearer ") || authorization.length > 256) {
|
if (authorization.length >= 256) {
|
||||||
return fail(res, "error.api.auth.jwt.invalid");
|
return fail(res, "error.api.auth.jwt.invalid");
|
||||||
}
|
}
|
||||||
|
|
||||||
const verifyJwt = jwt.verify(
|
const [ type, token, ...rest ] = authorization.split(" ");
|
||||||
authorization.split("Bearer ", 2)[1]
|
if (!token || type.toLowerCase() !== 'bearer' || rest.length) {
|
||||||
);
|
|
||||||
|
|
||||||
if (!verifyJwt) {
|
|
||||||
return fail(res, "error.api.auth.jwt.invalid");
|
return fail(res, "error.api.auth.jwt.invalid");
|
||||||
}
|
}
|
||||||
|
|
||||||
req.rateLimitKey = generateHmac(req.header("Authorization"), ipSalt);
|
if (!jwt.verify(token)) {
|
||||||
|
return fail(res, "error.api.auth.jwt.invalid");
|
||||||
|
}
|
||||||
|
|
||||||
|
req.rateLimitKey = generateHmac(token, ipSalt);
|
||||||
} catch {
|
} catch {
|
||||||
return fail(res, "error.api.generic");
|
return fail(res, "error.api.generic");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user