From c1ac6e242f5c52e16918060909ba6afb3feb1f7b Mon Sep 17 00:00:00 2001 From: Oana Schipor Date: Thu, 4 Jul 2024 11:08:55 +0100 Subject: [PATCH 1/3] truncating username in vela_project_user to match vela_user username Signed-off-by: Oana Schipor --- pkg/server/domain/service/authentication.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkg/server/domain/service/authentication.go b/pkg/server/domain/service/authentication.go index c505041d..989ff580 100644 --- a/pkg/server/domain/service/authentication.go +++ b/pkg/server/domain/service/authentication.go @@ -449,6 +449,14 @@ func (a *authenticationServiceImpl) GetLoginType(ctx context.Context) (*apisv1.G }, nil } +func getSub(claims *model.Claims) string { + sub := strings.ToLower(claims.Sub) + if len(sub) > datastore.PrimaryKeyMaxLength { + return sub[:datastore.PrimaryKeyMaxLength] + } + return sub +} + func (d *dexHandlerImpl) login(ctx context.Context) (*apisv1.UserBase, error) { var claims struct { Email string `json:"email"` @@ -492,14 +500,8 @@ func (d *dexHandlerImpl) login(ctx context.Context) (*apisv1.UserBase, error) { klog.Errorf("failed to get the system info %s", err.Error()) } user := &model.User{ - Email: claims.Email, - Name: func() string { - sub := strings.ToLower(claims.Sub) - if len(sub) > datastore.PrimaryKeyMaxLength { - return sub[:datastore.PrimaryKeyMaxLength] - } - return sub - }(), + Email: claims.Email, + Name: getSub(claims), DexSub: claims.Sub, Alias: claims.Name, LastLoginTime: time.Now(), @@ -514,7 +516,7 @@ func (d *dexHandlerImpl) login(ctx context.Context) (*apisv1.UserBase, error) { if systemInfo != nil { for _, project := range systemInfo.DexUserDefaultProjects { _, err := d.projectService.AddProjectUser(ctx, project.Name, apisv1.AddProjectUserRequest{ - UserName: strings.ToLower(claims.Sub), + UserName: getSub(claims), UserRoles: project.Roles, }) if err != nil { From da6e3c8b72b9805497ce4e91d1ae40ebee776e22 Mon Sep 17 00:00:00 2001 From: Oana Schipor Date: Thu, 4 Jul 2024 11:32:50 +0100 Subject: [PATCH 2/3] update fn Signed-off-by: Oana Schipor --- pkg/server/domain/service/authentication.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/server/domain/service/authentication.go b/pkg/server/domain/service/authentication.go index 989ff580..09daef96 100644 --- a/pkg/server/domain/service/authentication.go +++ b/pkg/server/domain/service/authentication.go @@ -449,12 +449,12 @@ func (a *authenticationServiceImpl) GetLoginType(ctx context.Context) (*apisv1.G }, nil } -func getSub(claims *model.Claims) string { - sub := strings.ToLower(claims.Sub) +func getUserName(sub string) string { + username := strings.ToLower(sub) if len(sub) > datastore.PrimaryKeyMaxLength { return sub[:datastore.PrimaryKeyMaxLength] } - return sub + return username } func (d *dexHandlerImpl) login(ctx context.Context) (*apisv1.UserBase, error) { @@ -501,7 +501,7 @@ func (d *dexHandlerImpl) login(ctx context.Context) (*apisv1.UserBase, error) { } user := &model.User{ Email: claims.Email, - Name: getSub(claims), + Name: getUserName(claims.Sub), DexSub: claims.Sub, Alias: claims.Name, LastLoginTime: time.Now(), @@ -516,7 +516,7 @@ func (d *dexHandlerImpl) login(ctx context.Context) (*apisv1.UserBase, error) { if systemInfo != nil { for _, project := range systemInfo.DexUserDefaultProjects { _, err := d.projectService.AddProjectUser(ctx, project.Name, apisv1.AddProjectUserRequest{ - UserName: getSub(claims), + UserName: getUserName(claims.Sub), UserRoles: project.Roles, }) if err != nil { From 61aced0762ebd40434385177fc4f767e757da642 Mon Sep 17 00:00:00 2001 From: Oana Schipor Date: Thu, 4 Jul 2024 13:26:53 +0100 Subject: [PATCH 3/3] Remove old k8s version Signed-off-by: Oana Schipor --- .github/workflows/server-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/server-test.yml b/.github/workflows/server-test.yml index 8c489060..3fcb1754 100644 --- a/.github/workflows/server-test.yml +++ b/.github/workflows/server-test.yml @@ -110,7 +110,7 @@ jobs: if: needs.detect-noop.outputs.noop != 'true' strategy: matrix: - k8s-version: ["v1.21", "v1.26"] + k8s-version: ["v1.26"] concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.k8s-version }} cancel-in-progress: true