From fb4537b4d19492c5b9d1243d4cbc8c02451cd820 Mon Sep 17 00:00:00 2001 From: Venkatreddy KP Date: Wed, 10 Jan 2024 23:18:58 +0530 Subject: [PATCH] add orgid in context for IAM calls --- server/pkg/api/configure_app_sso.go | 2 +- server/pkg/iam-client/client.go | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/server/pkg/api/configure_app_sso.go b/server/pkg/api/configure_app_sso.go index ef962bb1..74da8a95 100644 --- a/server/pkg/api/configure_app_sso.go +++ b/server/pkg/api/configure_app_sso.go @@ -23,7 +23,7 @@ func (s *Server) configureSSOForClusterApps(ctx context.Context, orgId, clusterI appClientName := fmt.Sprintf("%s-%s", clusterID, app.ReleaseName) s.log.Infof("Register app %s as app-client %s with IAM, clusterId: %s, [org: %s]", app.ReleaseName, appClientName, clusterID, orgId) - clientID, clientSecret, err := s.iam.RegisterAppClientSecrets(ctx, appClientName, app.LaunchURL) + clientID, clientSecret, err := s.iam.RegisterAppClientSecrets(ctx, appClientName, app.LaunchURL, orgId) if err != nil { return errors.WithMessagef(err, "failed to register app %s on cluster %s with IAM", app.ReleaseName, clusterID) } diff --git a/server/pkg/iam-client/client.go b/server/pkg/iam-client/client.go index 0a5c82b8..831f86c8 100644 --- a/server/pkg/iam-client/client.go +++ b/server/pkg/iam-client/client.go @@ -15,7 +15,7 @@ import ( ) type IAMRegister interface { - RegisterAppClientSecrets(ctx context.Context, clientName, redirectURL string) (string, string, error) + RegisterAppClientSecrets(ctx context.Context, clientName, redirectURL, organisationid string) (string, string, error) GetOAuthURL() string } @@ -87,7 +87,7 @@ func (c *Client) GetOAuthURL() string { return c.oryClient.GetURL() } -func (c *Client) RegisterAppClientSecrets(ctx context.Context, clientName, redirectURL string) (string, string, error) { +func (c *Client) RegisterAppClientSecrets(ctx context.Context, clientName, redirectURL, organisationid string) (string, string, error) { conn, err := grpc.Dial(c.cfg.IAMURL, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { return "", "", err @@ -95,7 +95,11 @@ func (c *Client) RegisterAppClientSecrets(ctx context.Context, clientName, redir defer conn.Close() iamclient := iampb.NewOauthServiceClient(conn) - res, err := iamclient.CreateOauthClient(context.Background(), &iampb.OauthClientRequest{ + md := metadata.Pairs( + "organisationid", organisationid, + ) + newCtx := metadata.NewOutgoingContext(ctx, md) + res, err := iamclient.CreateOauthClient(newCtx, &iampb.OauthClientRequest{ ClientName: clientName, RedirectUris: []string{redirectURL}, }) if err != nil {