Я сейчас работаю над экспресс-приложением, которое использует машинопись. В настоящее время я работаю над промежуточным программным обеспечением для аутентификации, и мне было интересно, можно ли сделать так, чтобы промежуточное программное обеспечение было безопасным:
authenticateJwt = (
req: RequestWithToken,
res: Response,
next: () => void
) => {
// Append the decoded req.token to the req header so we can use it internally
const token = req.token;
// @ts-ignore
this.verifyJwt(token)
.then((decoded: Token) => {
req.token = decoded;
next();
})
.catch(() => res.status(401).send('Unauthorized'));
};
сейчас в моих route.ts:
router.get(
'/me',
// @ts-ignore
jwtService.authenticateJwt,
userController.getProfileFromUser
);
Я должен написать // @ ts-ignore, потому что он говорит, что '(req: RequestWithToken, res: Response, next: () => void) => void
не относится к типу RequestHandlerParams
определение RequestWithToken
:
export interface RequestWithToken extends Request {
token: Token;
}
export interface Token {
username: string;
}