@@ -99,18 +99,35 @@ func main() {
9999
100100 defer mongoclient .Disconnect (ctx )
101101
102- // startGinServer(config)
103- startGrpcServer (config )
102+ startGinServer (config )
103+ // startGrpcServer(config)
104+ }
105+
106+ func allowedRoles () map [string ][]string {
107+ const userServicePath = "/pb.UserService/"
108+ return map [string ][]string {
109+ userServicePath + "GetMe" : {"user" },
110+ }
104111}
105112
106113func startGrpcServer (config config.Config ) {
107- server , err := gapi .NewGrpcServer (config , authService , userService , authCollection )
114+ authServer , err := gapi .NewGrpcAuthServer (config , authService , userService , authCollection )
108115 if err != nil {
109- log .Fatal ("cannot create grpc server : " , err )
116+ log .Fatal ("cannot create grpc authServer : " , err )
110117 }
111118
112- grpcServer := grpc .NewServer ()
113- pb .RegisterAuthServiceServer (grpcServer , server )
119+ userServer , err := gapi .NewGrpcUserServer (config , userService , authCollection )
120+ if err != nil {
121+ log .Fatal ("cannot create grpc userServer: " , err )
122+ }
123+
124+ interceptor := services .NewAuthInterceptor (allowedRoles (), & config , userService )
125+ grpcServer := grpc .NewServer (
126+ grpc .UnaryInterceptor (interceptor .Unary ()),
127+ )
128+
129+ pb .RegisterAuthServiceServer (grpcServer , authServer )
130+ pb .RegisterUserServiceServer (grpcServer , userServer )
114131 reflection .Register (grpcServer )
115132
116133 listener , err := net .Listen ("tcp" , config .GrpcServerAddress )
0 commit comments