如何通过web-grpc使用证书/身份验证?

时间:2018-10-03 15:06:36

标签: node.js ssl webpack certificate grpc

我正在与grpc-web一起工作,本质上是试图将服务器端正常的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');

然后将我的代码与webpack捆绑在一起,出现错误“无法解析child_process”。我做了一些谷歌搜索,发现那个child_process does not work in the browser。我现在有点束缚,因为在web-grpc-tutorial上看到的代码示例似乎并未显示如何建立安全连接。他们看起来像这样

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

如何将证书传递给呼叫/建立安全通道?

1 个答案:

答案 0 :(得分:0)

这里有一个使用带有TLS的grpc-web的示例:https://github.com/salrashid123/grpc_web_with_gke。有一节介绍如何使用证书。如果不需要,您不必使用GKE。