Класс RPC без аутентификации

Я пытаюсь сделать RPC-вызов глубокому серверу, который требует аутентификации, вот конфиг:

#Authentication
auth:
    type: http
    options:
        endpointUrl: http://localhost:3000/auth-user
        permittedStatusCodes: [ 200 ]
        requestTimeout: 500

А вот и разрешения:

rpc:
    "*":
       provide: true
       request: true

Аутентификация работает нормально. Но когда я пытаюсь сделать вызов RPC перед вызовом

client.login()

Я продолжаю получать эту ошибку: ACK_TIMEOUT, и, глядя на фреймы веб-сокетов, не кажется, что фреймы / данные отправляются на сервер. Существует ли какая-либо проверка на стороне клиента, запрещающая любое взаимодействие с сервером перед вызовом входа в систему? Есть ли способ сделать анонимный вызов RPC, а затем выполнить вход?

1 ответ

Решение

Deepstream блокирует все вызовы перед аутентификацией - даже для общедоступных подключений требуется входить в систему с помощью null или пустые аргументы в первую очередь. Однако вы можете создать общедоступного / открытого пользователя, через которого http-сервер авторизации позволяет выполнить первоначальный RPC, а затем немедленно отключиться и повторно подключиться с соответствующими учетными данными.

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