mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
support setting default org role when adding user via grafana.net auth
This commit is contained in:
parent
da95a23080
commit
630a8ed8aa
@ -83,10 +83,11 @@ func OAuthLogin(ctx *middleware.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
cmd := m.CreateUserCommand{
|
cmd := m.CreateUserCommand{
|
||||||
Login: userInfo.Email,
|
Login: userInfo.Email,
|
||||||
Email: userInfo.Email,
|
Email: userInfo.Email,
|
||||||
Name: userInfo.Name,
|
Name: userInfo.Name,
|
||||||
Company: userInfo.Company,
|
Company: userInfo.Company,
|
||||||
|
DefaultOrgRole: userInfo.Role,
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = bus.Dispatch(&cmd); err != nil {
|
if err = bus.Dispatch(&cmd); err != nil {
|
||||||
|
@ -44,15 +44,16 @@ func (u *User) NameOrFallback() string {
|
|||||||
// COMMANDS
|
// COMMANDS
|
||||||
|
|
||||||
type CreateUserCommand struct {
|
type CreateUserCommand struct {
|
||||||
Email string
|
Email string
|
||||||
Login string
|
Login string
|
||||||
Name string
|
Name string
|
||||||
Company string
|
Company string
|
||||||
OrgName string
|
OrgName string
|
||||||
Password string
|
Password string
|
||||||
EmailVerified bool
|
EmailVerified bool
|
||||||
IsAdmin bool
|
IsAdmin bool
|
||||||
SkipOrgSetup bool
|
SkipOrgSetup bool
|
||||||
|
DefaultOrgRole string
|
||||||
|
|
||||||
Result User
|
Result User
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,11 @@ func CreateUser(cmd *m.CreateUserCommand) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if setting.AutoAssignOrg && !user.IsAdmin {
|
if setting.AutoAssignOrg && !user.IsAdmin {
|
||||||
orgUser.Role = m.RoleType(setting.AutoAssignOrgRole)
|
if len(cmd.DefaultOrgRole) > 0 {
|
||||||
|
orgUser.Role = m.RoleType(cmd.DefaultOrgRole)
|
||||||
|
} else {
|
||||||
|
orgUser.Role = m.RoleType(setting.AutoAssignOrgRole)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err = sess.Insert(&orgUser); err != nil {
|
if _, err = sess.Insert(&orgUser); err != nil {
|
||||||
|
@ -83,6 +83,7 @@ func (s *SocialGrafanaNet) UserInfo(token *oauth2.Token) (*BasicUserInfo, error)
|
|||||||
Id int `json:"id"`
|
Id int `json:"id"`
|
||||||
Name string `json:"login"`
|
Name string `json:"login"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
|
Role string `json:"role"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
@ -102,6 +103,7 @@ func (s *SocialGrafanaNet) UserInfo(token *oauth2.Token) (*BasicUserInfo, error)
|
|||||||
Identity: strconv.Itoa(data.Id),
|
Identity: strconv.Itoa(data.Id),
|
||||||
Name: data.Name,
|
Name: data.Name,
|
||||||
Email: data.Email,
|
Email: data.Email,
|
||||||
|
Role: data.Role,
|
||||||
}
|
}
|
||||||
|
|
||||||
if !s.IsOrganizationMember(client) {
|
if !s.IsOrganizationMember(client) {
|
||||||
|
@ -15,6 +15,7 @@ type BasicUserInfo struct {
|
|||||||
Email string
|
Email string
|
||||||
Login string
|
Login string
|
||||||
Company string
|
Company string
|
||||||
|
Role string
|
||||||
}
|
}
|
||||||
|
|
||||||
type SocialConnector interface {
|
type SocialConnector interface {
|
||||||
|
Loading…
Reference in New Issue
Block a user