Tôi đang cố gắng tìm ra cách tốt nhất là chuyển mã thông báo người gửi oauth đến điểm cuối websocket.Xác thực OAuth2 cho Websockets: Chuyển Mã thông báo của người gửi qua Subprotocols?
This SO answer suggests to send the token in the URL, tuy nhiên phương pháp này có tất cả những hạn chế của việc xác thực thông qua URL. Các tác động an ninh được thảo luận here
Vì vậy, tôi đã tự hỏi điều gì sẽ là nhược điểm khi sử dụng các giao thức con để chuyển mã thông báo tới máy chủ? tức là thay vì xử lý các giao thức con được yêu cầu dưới dạng danh sách các hằng số. Gửi ít nhất một subprotocol theo cú pháp như ví dụ: authorization-bearer-<token>
Mã thông báo sẽ kết thúc trong tiêu đề yêu cầu. Máy chủ trong khi xử lý các giao thức con sẽ có thể tìm và xử lý mã thông báo dễ dàng với một chút mã tùy chỉnh. Vì việc gửi các giao thức con nên được hỗ trợ bởi nhiều triển khai websocket, điều này sẽ làm việc cho nhiều khách hàng.
Ý tưởng rất thú vị này. Bất cứ ai có thể bình luận đó là sâu hơn tham gia vào đó? – Javali
Tôi tìm thấy một cách tiếp cận khác trong dự án này: https://github.com/tmc/grpc-websocket-proxy cú pháp hơi khác: 'Sec-Websocket-Protocol: Bearer, foobar' có nghĩa là' Authorization: Bearer foobar' – JE42