From 7ea398284e5ec6f28e6f23d15b5c823d67d27e36 Mon Sep 17 00:00:00 2001
From: Semyon Krestyaninov <krestyaninov@perx.ru>
Date: Tue, 9 Apr 2024 09:44:34 +0000
Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?=
 =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE?=
 =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2?=
 =?UTF-8?q?=D0=BB=D0=B8=D0=B2=D0=B0=D1=82=D1=8C=20=D1=81=D0=B8=D1=81=D1=82?=
 =?UTF-8?q?=D0=B5=D0=BC=D0=BD=D1=8B=D0=B9=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80?=
 =?UTF-8?q?=D1=86=D0=B5=D0=BF=D1=82=D0=BE=D1=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkg/auth/grpc.go | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/pkg/auth/grpc.go b/pkg/auth/grpc.go
index e6cd0092..e2b89c4f 100644
--- a/pkg/auth/grpc.go
+++ b/pkg/auth/grpc.go
@@ -74,7 +74,7 @@ func ContextToGRPC() kitgrpc.ClientRequestFunc {
 	}
 }
 
-// PrincipalServerInterceptor - grpc-интерсептор, который используется для получения данных принципала из grpc-метаданы и добавления в контекст ''. В случае, если
+// PrincipalServerInterceptor - grpc-интерсептор, который используется для получения данных принципала из grpc-метаданы и добавления в контекст ”. В случае, если
 // сервис не использует проверку прав 'Principal' к системе, в параметрах передается пустой объект '&PrincipalFactory{}'
 func PrincipalServerInterceptor(factory *PrincipalFactory) grpc.UnaryServerInterceptor {
 	return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
@@ -98,6 +98,13 @@ func PrincipalClientInterceptor() grpc.UnaryClientInterceptor {
 	}
 }
 
+func AddAccessInterceptor(id string) grpc.UnaryClientInterceptor {
+	return func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
+		ctx = metadata.AppendToOutgoingContext(ctx, AccessMetadata, id)
+		return invoker(ctx, method, req, reply, cc, opts...)
+	}
+}
+
 func AddAuthorizationInterceptor(auth string) grpc.UnaryClientInterceptor {
 	return func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
 		ctx = metadata.AppendToOutgoingContext(ctx, "authorization", auth)
-- 
GitLab