Как мне использовать сертификаты / авторизацию с web-grpc? - PullRequest
0 голосов
/ 03 октября 2018

Я работаю с grpc-web , по сути, пытаюсь портировать работающий серверный пример vanilla grpc / node в браузер.Мой пример клиентского узла подключается к сервису grpc следующим образом.

var services = require('./my_services_grpc_pb'); 
var grpc = require('grpc');  

var secureClient = new services.MyServicesServiceClient(                                                                                                                                                           
    (host + ":" + port),                                                                                                                                                                                           
    grpc.credentials.createSsl(                                                                                                                                                                                    
        fs.readFileSync(certFile)                                                                                                                                                                                  
    )                                                                                                                                                                                                              
);                                                                                                                                                                                                                 

Кажется, это делает то, что я хочу.Однако, когда я пытаюсь включить строку

var grpc = require('grpc');

, а затем связать свой код с веб-пакетом, я получаю сообщение об ошибке «невозможно разрешить child_process».Я немного погуглил и обнаружил, что child_process не работает в браузере .Теперь я немного затруднен, потому что примеры кода, которые я видел в web-grpc-tutorial , не показывают, как установить безопасное соединение.Они выглядят так:

var echoService = new EchoServiceClient('http://localhost:8080');

Как мне поступить с передачей сертификатов на вызов / установлением безопасного канала?

1 Ответ

0 голосов
/ 04 октября 2018

Здесь приведен пример использования grpc-web с TLS: https://github.com/salrashid123/grpc_web_with_gke. Есть раздел о том, как использовать сертификаты.Вам не нужно использовать GKE, если вам это не нужно.

...