grpc服务认证实现方式
来源:互联网 发布:淘宝书籍推荐 编辑:程序博客网 时间:2024/05/24 06:44
gRPC服务认证有几种实现思路
- gRPC通信层使用SSL/TLS认证
- gRPC服务提供的接口中认证
- 使用注册中心的认证
通信层基于SSL/TLS认证方式
参考这里:
https://segmentfault.com/a/1190000007933303
大致思路是,gRPC通信层使用证书:
服务端创建服务增加参数
creds, err := credentials.NewServerTLSFromFile("../../keys/server.pem", "../../keys/server.key")s := grpc.NewServer(grpc.Creds(creds))
客户端链接增加参数
creds, err := credentials.NewClientTLSFromFile("../../keys/server.pem", "server name")conn, err := grpc.Dial(Address, grpc.WithTransportCredentials(creds))
支持自定义验证token方式。
需要定义一个结构,实现grpc/credential包内的PerRPCCredentials接口,就可以提供给grpc当成grpc.DialOption使用。
开发者可以通过实现GetRequestMetadata和RequireTransportSecurity两个方法来完成自定义验证,类似appid+appkey+签名的方式。
gRPC服务接口中认证
- 用参数验证 appid+appkey
- 使用http header验证
需要自行实现。
使用注册中心的认证
etcd注册中心支持SSL客户端证书认证
etcd支持HTTP RESTful 接口,可以通过配置让etcd支持https。
参考:http://www.jianshu.com/p/1043903bc359
etcd注册中心支持HTTP Authorization Header方式认证
具体可以参考官方文档:
鉴权认证api: https://github.com/coreos/etcd/blob/6acb3d67fbe131b3b2d5d010e00ec80182be4628/Documentation/v2/auth_api.md
阅读全文
0 0
- grpc服务认证实现方式
- zookeeper与grpc集成实现服务注册与发现
- linux 统一认证方式实现
- go的grpc实现
- gRPC服务发现&负载均衡
- gRPC服务发现&负载均衡
- Grpc系列二 Grpc4种服务方法的定义和实现
- kubernetes集群中利用etcd和grpc实现golang服务间通信
- grpc(5):使用grpc+consul 开发服务调用
- grpc-gateway:grpc转换为http协议对外提供服务
- grpc-gateway:grpc转换为http协议对外提供服务
- grpc-gateway:grpc转换为http协议对外提供服务
- grpc-gateway:grpc转换为http协议对外提供服务
- grpc-gateway:grpc转换为http协议对外提供服务
- grpc-gateway:grpc转换为http协议对外提供服务
- grpc-gateway:grpc转换为http协议对外提供服务
- grpc-gateway:grpc转换为http协议对外提供服务
- luci实现的wifidog认证服务
- 六周第三次课 2017.11.22 awk
- 关于进制
- 5.3.2 日期格式化方法
- 物体检测
- Docker初识
- grpc服务认证实现方式
- [SDS阅读理解/5]源码中的函数/2
- leetcode 38. Count and Say
- LUOGU 2256一中校运会之百米跑
- HTML之href和src属性
- 小波变换教程(八)
- 利用nltk进行词句的分割
- QT添加组件储存库问题
- AM335X下Linux驱动 485串口 只能收不能发 问题的解决