@@ -24,13 +24,12 @@ type GRPCServer struct {
2424 registerFuncs []func (* grpc.Server )
2525 authenticators []authn.Authenticator
2626 unaryAuthorizers []authz.UnaryAuthorizer
27- streamAuthorizers map [ string ] []authz.StreamAuthorizer
27+ streamAuthorizers []authz.StreamAuthorizer
2828}
2929
3030func NewGRPCServer (opt * GRPCServerOptions ) * GRPCServer {
3131 return & GRPCServer {
32- options : opt ,
33- streamAuthorizers : make (map [string ][]authz.StreamAuthorizer ),
32+ options : opt ,
3433 }
3534}
3635
@@ -50,7 +49,7 @@ func (b *GRPCServer) WithUnaryAuthorizer(authorizer authz.UnaryAuthorizer) *GRPC
5049}
5150
5251func (b * GRPCServer ) WithStreamAuthorizer (authorizer authz.StreamAuthorizer ) * GRPCServer {
53- b .streamAuthorizers [ authorizer . FullMethodName ()] = append (b .streamAuthorizers [ authorizer . FullMethodName ()] , authorizer )
52+ b .streamAuthorizers = append (b .streamAuthorizers , authorizer )
5453 return b
5554}
5655
@@ -238,7 +237,7 @@ func newAuthnStreamInterceptor(authenticators ...authn.Authenticator) grpc.Strea
238237}
239238
240239// newAuthzStreamInterceptor is a stream interceptor that authorizes the stream request.
241- func newAuthzStreamInterceptor (authorizers map [ string ] []authz.StreamAuthorizer ) grpc.StreamServerInterceptor {
240+ func newAuthzStreamInterceptor (authorizers []authz.StreamAuthorizer ) grpc.StreamServerInterceptor {
242241 return func (
243242 srv interface {},
244243 ss grpc.ServerStream ,
@@ -247,13 +246,11 @@ func newAuthzStreamInterceptor(authorizers map[string][]authz.StreamAuthorizer)
247246 ) error {
248247 var errs []error
249248
250- if authorizers , ok := authorizers [info .FullMethod ]; ok {
251- for _ , authorizer := range authorizers {
252- if authorizedStream , err := authorizer .AuthorizeStream (ss .Context (), ss , info ); err == nil {
253- return handler (srv , authorizedStream )
254- } else {
255- errs = append (errs , err )
256- }
249+ for _ , authorizer := range authorizers {
250+ if authorizedStream , err := authorizer .AuthorizeStream (ss .Context (), ss , info ); err == nil {
251+ return handler (srv , authorizedStream )
252+ } else {
253+ errs = append (errs , err )
257254 }
258255 }
259256
0 commit comments