handle authentication errors in stream API

This commit is contained in:
Johann150 2022-07-18 23:32:03 +02:00
parent 0131ec4a58
commit c4e2a222f0
No known key found for this signature in database
GPG key ID: 9EE6577A2A06F8F1

View file

@ -17,10 +17,14 @@ export const initializeStreamingServer = (server: http.Server) => {
ws.on('request', async (request) => { ws.on('request', async (request) => {
const q = request.resourceURL.query as ParsedUrlQuery; const q = request.resourceURL.query as ParsedUrlQuery;
// TODO: トークンが間違ってるなどしてauthenticateに失敗したら const [user, app] = await authenticate(request.httpRequest.headers.authorization, q.i)
// コネクション切断するなりエラーメッセージ返すなりする .catch(err => {
// (現状はエラーがキャッチされておらずサーバーのログに流れて邪魔なので) request.reject(403, err.message);
const [user, app] = await authenticate(request.httpRequest.headers.authorization, q.i); return [];
});
if (typeof user === 'undefined') {
return;
}
if (user?.isSuspended) { if (user?.isSuspended) {
request.reject(400); request.reject(400);