">"> ">"> ">"> ">"> "> verbreiten"> ">
Code: Select all
quarkus:
websockets-next:
server:
supported-subprotocols:
- token-carrier
- bearer-token-carrier
propagate-subprotocol-headers: true
< /code>
Wir können die Anforderung über JavaScript stellen und es funktioniert: < /p>
const upgradeProto = encodeURIComponent(`quarkus-http-upgrade#Authorization#Bearer ${token}`);
const ws = new WebSocket(url, ["openepcis-token-carrier", upgradeProto]);
Code: Select all
WebSocket connection to 'ws://…' failed
CloseEvent { code: 1006, reason: "", wasClean: false }
< /code>
Im Folgenden finden Sie die Quarkus -Version, die ich verwende: < /p>
3.20.0
< /code>
Im Folgenden ist meine Implementierung: < /p>
@ServerEndpoint(
value = "/queries/{queryName}/events",
configurator = QueriesWebSocketConfigurator.class,
subprotocols = {
"token-carrier",
"quarkus-http-upgrade"
}
)
@ApplicationScoped
public class QueriesWebSocket { … }
< /code>
Im Folgenden finden Sie die JavaScript -Client -Anforderung: < /p>
const token = "";
const upgradeProto = encodeURIComponent(
`quarkus-http-upgrade#Authorization#Bearer ${token}`
);
//const upgradeProto = encodeURIComponent( `Authorization#Bearer ${token}` );
const ws = new WebSocket(
"ws://localhost:8080/queries/TestQuery/events?stream=true",
["token-carrier", upgradeProto]
);
< /code>
Ich habe viele Dinge ausprobiert, aber immer noch nicht in der Lage, es zum Laufen zu bringen. Ich kann eine Verbindung herstellen, indem ich das Token als Abfrageparameter übergeben kann: WSURL + "& Access_Token" + Token
Quarkus Websockets < /li>
Problem mit sec-Websocket-Protokoll fixieren. Etwas hier?