服务安全与可观测性实践
1. 服务安全保障
在服务开发中,安全是至关重要的一环。以下是保障服务安全的关键步骤与代码实现。
首先,我们需要将认证拦截器集成到 gRPC 服务器中,以此来识别每个 RPC 的主体,进而启动授权流程。以下是相关代码:
func NewGRPCServer(config *Config, opts ...grpc.ServerOption) (
*grpc.Server,
error,
) {
opts = append(opts, grpc.StreamInterceptor(
grpc_middleware.ChainStreamServer(
grpc_auth.StreamServerInterceptor(authenticate),
)), grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer(
grpc_auth.UnaryServerInterceptor(authenticate),
)))
gsrv := grpc.NewServer(opts...)
srv, err := newgrpcServer(config)
if err != nil {
return nil, err
}
api.RegisterLogServer(gsrv, srv)
return gsrv, nil
}
接着,更新测试服务器的配置,传入授权器
超级会员免费看
订阅专栏 解锁全文
998

被折叠的 条评论
为什么被折叠?



