feat: add algorithms option
This commit is contained in:
parent
92d1ecd7e0
commit
abbabc588e
@ -1,4 +1,4 @@
|
||||
import jwt from 'jsonwebtoken'
|
||||
import jwt, { Algorithm } from 'jsonwebtoken'
|
||||
import { Socket } from 'socket.io'
|
||||
|
||||
import { UnauthorizedError } from './UnauthorizedError'
|
||||
@ -14,10 +14,11 @@ type SocketIOMiddleware = (
|
||||
|
||||
interface AuthorizeOptions {
|
||||
secret: string
|
||||
algorithms?: Algorithm[]
|
||||
}
|
||||
|
||||
export const authorize = (options: AuthorizeOptions): SocketIOMiddleware => {
|
||||
const { secret } = options
|
||||
const { secret, algorithms = ['HS256'] } = options
|
||||
return (socket, next) => {
|
||||
let token: string | null = null
|
||||
const authorizationHeader = socket.request.headers.authorization
|
||||
@ -43,7 +44,7 @@ export const authorize = (options: AuthorizeOptions): SocketIOMiddleware => {
|
||||
socket = Object.assign(socket, { encodedToken: token })
|
||||
let payload: any
|
||||
try {
|
||||
payload = jwt.verify(token, secret)
|
||||
payload = jwt.verify(token, secret, { algorithms })
|
||||
} catch {
|
||||
return next(
|
||||
new UnauthorizedError('invalid_token', {
|
||||
|
Reference in New Issue
Block a user