fix: unmask application for org admin (#2138)

* feat: unmask application with user admin

* Update application.go

---------

Co-authored-by: hsluoyz <hsluoyz@qq.com>
This commit is contained in:
June
2023-07-26 16:17:49 +07:00
committed by GitHub
parent ba8a0f36be
commit 6a952952a8
2 changed files with 19 additions and 4 deletions

View File

@ -281,14 +281,21 @@ func GetApplication(id string) (*Application, error) {
} }
func GetMaskedApplication(application *Application, userId string) *Application { func GetMaskedApplication(application *Application, userId string) *Application {
if isUserIdGlobalAdmin(userId) {
return application
}
if application == nil { if application == nil {
return nil return nil
} }
if userId != "" {
if isUserIdGlobalAdmin(userId) {
return application
}
user, _ := GetUser(userId)
if user != nil && user.IsApplicationAdmin(application) {
return application
}
}
if application.ClientSecret != "" { if application.ClientSecret != "" {
application.ClientSecret = "***" application.ClientSecret = "***"
} }

View File

@ -860,3 +860,11 @@ func AddUserkeys(user *User, isAdmin bool) (bool, error) {
return UpdateUser(user.GetId(), user, []string{}, isAdmin) return UpdateUser(user.GetId(), user, []string{}, isAdmin)
} }
func (user *User) IsApplicationAdmin(application *Application) bool {
if user == nil {
return false
}
return (user.Owner == application.Organization && user.IsAdmin) || user.IsGlobalAdmin
}