如何在Ruby gRPC非安全通道中配置调用级凭据(无需ChannelCredentials)
在Ruby gRPC非安全通道中使用调用级凭据的实现方式
当然可以,Ruby gRPC支持在非安全通道下直接使用调用级凭据,完全不需要依赖ChannelCredentials。具体操作步骤如下:
创建非安全通道时,跳过ChannelCredentials配置:
# 初始化无凭据的非安全通道 channel = GRPC::Core::Channel.new('localhost:50051', nil, :this_channel_is_insecure)这里第二个参数传
nil表示不设置全局通道凭据,:this_channel_is_insecure显式指定使用非安全模式。定义调用级凭据(以自定义元数据凭据为例):
# 创建调用级凭据,每次调用时附加自定义元数据 call_creds = GRPC::Core::CallCredentials.new(proc do |context| { 'authorization' => 'Bearer YOUR_ACCESS_TOKEN' } end)发起RPC调用时传入调用级凭据:
stub = YourService::Stub.new(channel) # 在调用方法时通过credentials参数传入调用级凭据 response = stub.your_rpc_method(request, credentials: call_creds)
调用级凭据会作用于每一次单独的RPC请求,而非整个通道。这种方式无需额外配置ChannelCredentials,直接在非安全通道下就能正常工作。
内容的提问来源于stack exchange,提问作者Pascal
相关产品推荐
相关产品推荐

