Just spent hours on this issue, but the 'authorizer' callback only exists in the Pusher libary, it doesn't exists in the Socket.io library. Very annoying..
Best way to make this work - I guess - with Socket.io and Sanctum is to sent a Bearer Authorization token in the request. But you should find someway to don't create a new personal access token on every request.
auth: {
headers: {
Authorization: 'Bearer [token]' ,
},
},