123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { Request, Response, NextFunction } from 'express';
- import jwt, { JwtPayload } from 'jsonwebtoken';
- export const extractToken = async (req: Request, res: Response, next: NextFunction) => {
- try {
- const bearerToken = req.headers.authorization;
- if (!bearerToken || !bearerToken.startsWith('Bearer ')) {
- return res.status(401).json({ message: 'Token tidak valid atau tidak ditemukan.' });
- }
- const token = bearerToken.split(' ')[1];
- const tokenData = jwt.decode(token) as JwtPayload;
- (req as any).tokenData = {
- sub: tokenData?.sub as string,
- realm_access: tokenData?.realm_access
- };
- next();
- } catch (error) {
- next(error);
- }
- };
- // import { Response, NextFunction } from 'express';
- // import jwt from 'jsonwebtoken';
- // import { CustomRequest } from '../types/token/CustomRequest';
- // const extractToken = async (req: CustomRequest, res: Response, next: NextFunction) => {
- // try {
- // const bearerToken = req.headers.authorization;
- // if (!bearerToken || !bearerToken.startsWith('Bearer ')) {
- // return res.status(401).json({ message: 'Token tidak valid atau tidak ditemukan.' });
- // }
- // const token = bearerToken.split(' ')[1];
- // const tokenData = jwt.decode(token);
- // req.tokenData = { sub: tokenData?.sub as string };
- // next();
- // } catch (error) {
- // next(error);
- // }
- // };
- // export default extractToken;
- // module.exports = async (req, res, next) => {
- // try {
- // // Decode access token
- // const bearerToken = req.headers.authorization;
- // // bearerToken would return "Bearer <access_token>"
- // const token = bearerToken.split(" ");
- // // token would return ["Bearer", "<access_token>"]
- // const tokenData = jwt.decode(token[1]);
- // // tokenData would return user's data
- // // Store decoded token data in request
- // req.tokenData = tokenData;
- // next();
- // } catch (error) {
- // next(error);
- // }
- // }
|