Laravel-GraphQl-детская площадка не может подключиться к веб-сокету в пользовательском интерфейсе при использовании подписки

В настоящее время я использую Lighthouse в качестве сервера graphql для laravel. Я работал с документацией по подписке ( https://lighthouse-php.com/master/subscriptions/getting-started.html) на их сайте, а также добавил соответствующие учетные данные в файл.env.

При попытке подписаться с помощью графического интерфейса детской площадки я получаю следующую ошибку:

подписка:

subscription {
  orgUserCreated {
    org
  }
}

ошибка:

{
  "error": "Could not connect to websocket endpoint ws://localhost:8000/graphql. Please check if the endpoint url is correct."
}

Все мутации и запросы работают как надо.

Я переопределил файл index.blade.php для laravel laravel-graphql-playstation и могу добавить в этот файл переменную "subscriptionEndpoint", но неясно, что эта переменная должна содержать.

<script type="text/javascript">
  window.addEventListener('load', function (event) {
    const loadingWrapper = document.getElementById('loading-wrapper');
    loadingWrapper.classList.add('fadeOut');
    const root = document.getElementById('root');
    root.classList.add('playgroundIn');
    GraphQLPlayground.init(root, {
      endpoint: "{{url(config('graphql-playground.endpoint'))}}",
      subscriptionEndpoint: "?"
    })
  })
</script>

Кто-нибудь знает, что должно содержаться в переменной "subscriptionEndpoint", так как я подключаюсь через pusher?

1 ответ

Для справки в будущем мне пришлось использовать следующее:

wss://ws-[CLUSTER].pusher.com:443/app/[APP_KEY]?protocol=5
ws://ws-[CLUSTER].pusher.com:80/app/[APP_KEY]?protocol=5

[CLUSTER] можно найти на пушере, у меня было "eu"

[APP_KEY] не идентификатор приложения, а открытый ключ

Конечные точки подписки для Pusher Channels следующие (вместо "you-cluster" вместо кластера, в котором находится приложение Channels):

ws://ws-[your-cluster].pusherapp.com на порт 80

wss://ws-[your-cluster].pusherapp.com по порту 443

Вы можете увидеть больше информации ниже:

https://pusher.com/docs/channels/miscellaneous/clusters

https://support.pusher.com/hc/en-us/articles/360019420773-What-ports-do-I-need-to-open-in-my-Firewall-to-allow-Channels-to-connect-

Другие вопросы по тегам