grpc服务认证实现方式
生活随笔
收集整理的這篇文章主要介紹了
grpc服务认证实现方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
gRPC服務認證有幾種實現思路
- gRPC通信層使用SSL/TLS認證
- gRPC服務提供的接口中認證
- 使用注冊中心的認證
通信層基于SSL/TLS認證方式
參考這里:
https://segmentfault.com/a/1190000007933303
大致思路是,gRPC通信層使用證書:
服務端創建服務增加參數
客戶端鏈接增加參數
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
總結
以上是生活随笔為你收集整理的grpc服务认证实现方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学建模推国一最终省一经验总结
- 下一篇: 计算机唤醒休眠快捷键,电脑休眠真的不耗电