From 0d990898b8025188ecb2f451919e8589dde53293 Mon Sep 17 00:00:00 2001 From: Ilja Neumann Date: Fri, 18 Dec 2020 08:44:22 +0100 Subject: [PATCH] Fix gid was overwritten by roles --- proxy/pkg/user/backend/accounts.go | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/proxy/pkg/user/backend/accounts.go b/proxy/pkg/user/backend/accounts.go index 665074ea1..0ac24bb6a 100644 --- a/proxy/pkg/user/backend/accounts.go +++ b/proxy/pkg/user/backend/accounts.go @@ -140,18 +140,18 @@ func (a *accountsServiceBackend) accountToUser(account *accounts.Account) *cs3.U MailVerified: account.ExternalUserState == "" || account.ExternalUserState == "Accepted", Groups: expandGroups(account), Opaque: &types.Opaque{ - Map: map[string]*types.OpaqueEntry{}, + Map: map[string]*types.OpaqueEntry{ + "uid": { + Decoder: "plain", + Value: []byte(strconv.FormatInt(account.UidNumber, 10)), + }, + "gid": { + Decoder: "plain", + Value: []byte(strconv.FormatInt(account.GidNumber, 10)), + }, + }, }, } - - user.Opaque.Map["uid"] = &types.OpaqueEntry{ - Decoder: "plain", - Value: []byte(strconv.FormatInt(account.UidNumber, 10)), - } - user.Opaque.Map["gid"] = &types.OpaqueEntry{ - Decoder: "plain", - Value: []byte(strconv.FormatInt(account.GidNumber, 10)), - } return user } @@ -208,11 +208,7 @@ func injectRoles(ctx context.Context, u *cs3.User, ss settings.RoleService) erro return err } - u.Opaque = &types.Opaque{ - Map: map[string]*types.OpaqueEntry{ - "roles": enc, - }, - } + u.Opaque.Map["roles"] = enc return nil }