fix: display loginname in machine client credentials (#5936)

This commit is contained in:
Tim Möhlmann 2023-05-26 16:04:45 +03:00 committed by GitHub
parent 6c90f088d2
commit d5eaa8fa16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 7 deletions

View File

@ -26,12 +26,20 @@ import (
mgmt_pb "github.com/zitadel/zitadel/pkg/grpc/management" mgmt_pb "github.com/zitadel/zitadel/pkg/grpc/management"
) )
func (s *Server) GetUserByID(ctx context.Context, req *mgmt_pb.GetUserByIDRequest) (*mgmt_pb.GetUserByIDResponse, error) { func (s *Server) getUserByID(ctx context.Context, id string) (*query.User, error) {
owner, err := query.NewUserResourceOwnerSearchQuery(authz.GetCtxData(ctx).OrgID, query.TextEquals) owner, err := query.NewUserResourceOwnerSearchQuery(authz.GetCtxData(ctx).OrgID, query.TextEquals)
if err != nil { if err != nil {
return nil, err return nil, err
} }
user, err := s.query.GetUserByID(ctx, true, req.Id, false, owner) user, err := s.query.GetUserByID(ctx, true, id, false, owner)
if err != nil {
return nil, err
}
return user, nil
}
func (s *Server) GetUserByID(ctx context.Context, req *mgmt_pb.GetUserByIDRequest) (*mgmt_pb.GetUserByIDResponse, error) {
user, err := s.getUserByID(ctx, req.GetId())
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -785,13 +793,18 @@ func (s *Server) GenerateMachineSecret(ctx context.Context, req *mgmt_pb.Generat
if err != nil { if err != nil {
return nil, err return nil, err
} }
user, err := s.getUserByID(ctx, req.GetUserId())
if err != nil {
return nil, err
}
set := new(command.GenerateMachineSecret) set := new(command.GenerateMachineSecret)
details, err := s.command.GenerateMachineSecret(ctx, req.UserId, authz.GetCtxData(ctx).OrgID, secretGenerator, set) details, err := s.command.GenerateMachineSecret(ctx, req.UserId, authz.GetCtxData(ctx).OrgID, secretGenerator, set)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return &mgmt_pb.GenerateMachineSecretResponse{ return &mgmt_pb.GenerateMachineSecretResponse{
ClientId: set.ClientID, ClientId: user.PreferredLoginName,
ClientSecret: set.ClientSecret, ClientSecret: set.ClientSecret,
Details: obj_grpc.DomainToAddDetailsPb(details), Details: obj_grpc.DomainToAddDetailsPb(details),
}, nil }, nil

View File

@ -14,7 +14,6 @@ import (
) )
type GenerateMachineSecret struct { type GenerateMachineSecret struct {
ClientID string
ClientSecret string ClientSecret string
} }
@ -53,7 +52,6 @@ func prepareGenerateMachineSecret(a *user.Aggregate, generator crypto.Generator,
if !isUserStateExists(writeModel.UserState) { if !isUserStateExists(writeModel.UserState) {
return nil, caos_errs.ThrowPreconditionFailed(nil, "COMMAND-x8910n", "Errors.User.NotExisting") return nil, caos_errs.ThrowPreconditionFailed(nil, "COMMAND-x8910n", "Errors.User.NotExisting")
} }
set.ClientID = writeModel.UserName
clientSecret, secretString, err := domain.NewMachineClientSecret(generator) clientSecret, secretString, err := domain.NewMachineClientSecret(generator)
if err != nil { if err != nil {

View File

@ -137,7 +137,6 @@ func TestCommandSide_GenerateMachineSecret(t *testing.T) {
ResourceOwner: "org1", ResourceOwner: "org1",
}, },
secret: &GenerateMachineSecret{ secret: &GenerateMachineSecret{
ClientID: "user1",
ClientSecret: "a", ClientSecret: "a",
}, },
}, },
@ -157,7 +156,6 @@ func TestCommandSide_GenerateMachineSecret(t *testing.T) {
} }
if tt.res.err == nil { if tt.res.err == nil {
assert.Equal(t, tt.res.want, got) assert.Equal(t, tt.res.want, got)
assert.Equal(t, tt.args.set.ClientID, tt.res.secret.ClientID)
assert.Equal(t, tt.args.set.ClientSecret, tt.res.secret.ClientSecret) assert.Equal(t, tt.args.set.ClientSecret, tt.res.secret.ClientSecret)
} }
}) })