Класс 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, а затем немедленно отключиться и повторно подключиться с соответствующими учетными данными.