Skip to content

Commit

Permalink
Enhance user info output with authentication info (minio#4613)
Browse files Browse the repository at this point in the history
  • Loading branch information
donatello committed Jul 7, 2023
1 parent a2c253c commit 1b99286
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 19 deletions.
32 changes: 18 additions & 14 deletions cmd/admin-user-add.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,14 @@ type userGroup struct {

// userMessage container for content message structure
type userMessage struct {
op string
Status string `json:"status"` // TODO: remove this?
AccessKey string `json:"accessKey,omitempty"`
SecretKey string `json:"secretKey,omitempty"`
PolicyName string `json:"policyName,omitempty"`
UserStatus string `json:"userStatus,omitempty"`
MemberOf []userGroup `json:"memberOf,omitempty"`
op string
Status string `json:"status"` // TODO: remove this?
AccessKey string `json:"accessKey,omitempty"`
SecretKey string `json:"secretKey,omitempty"`
PolicyName string `json:"policyName,omitempty"`
UserStatus string `json:"userStatus,omitempty"`
MemberOf []userGroup `json:"memberOf,omitempty"`
Authentication string `json:"authentication,omitempty"`
}

func (u userMessage) String() string {
Expand All @@ -118,13 +119,16 @@ func (u userMessage) String() string {
for _, group := range u.MemberOf {
memberOf = append(memberOf, group.Name)
}
return console.Colorize("UserMessage", strings.Join(
[]string{
fmt.Sprintf("AccessKey: %s", u.AccessKey),
fmt.Sprintf("Status: %s", u.UserStatus),
fmt.Sprintf("PolicyName: %s", u.PolicyName),
fmt.Sprintf("MemberOf: %s", memberOf),
}, "\n"))
lines := []string{
fmt.Sprintf("AccessKey: %s", u.AccessKey),
fmt.Sprintf("Status: %s", u.UserStatus),
fmt.Sprintf("PolicyName: %s", u.PolicyName),
fmt.Sprintf("MemberOf: %s", memberOf),
}
if u.Authentication != "" {
lines = append(lines, fmt.Sprintf("Authentication: %s", u.Authentication))
}
return console.Colorize("UserMessage", strings.Join(lines, "\n"))
case "remove":
return console.Colorize("UserMessage", "Removed user `"+u.AccessKey+"` successfully.")
case "disable":
Expand Down
26 changes: 21 additions & 5 deletions cmd/admin-user-info.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@
package cmd

import (
"fmt"
"strings"

"github.com/fatih/color"
"github.com/minio/cli"
"github.com/minio/madmin-go/v3"
"github.com/minio/mc/pkg/probe"
"github.com/minio/pkg/console"
)
Expand Down Expand Up @@ -87,12 +89,26 @@ func mainAdminUserInfo(ctx *cli.Context) error {
}

printMsg(userMessage{
op: ctx.Command.Name,
AccessKey: args.Get(1),
PolicyName: user.PolicyName,
UserStatus: string(user.Status),
MemberOf: memberOf,
op: ctx.Command.Name,
AccessKey: args.Get(1),
PolicyName: user.PolicyName,
UserStatus: string(user.Status),
MemberOf: memberOf,
Authentication: authInfoToUserMessage(user.AuthInfo),
})

return nil
}

func authInfoToUserMessage(a *madmin.UserAuthInfo) string {
if a == nil {
return ""
}

authServer := ""
if a.Type != madmin.BuiltinUserAuthType {
authServer = "/" + a.AuthServer
}

return fmt.Sprintf("%s%s (%s)", a.Type, authServer, a.AuthServerUserID)
}

0 comments on commit 1b99286

Please sign in to comment.