@@ -56,9 +56,10 @@ func (a *keystoneAuther) login(query *LoginUserQuery) error {
5656}
5757
5858func (a * keystoneAuther ) authenticate (username , password string ) error {
59+ user , _ := keystone .UserDomain (username )
5960 auth := keystone.Auth_data {
6061 Server : a .server ,
61- Username : username ,
62+ Username : user ,
6263 Password : password ,
6364 Domain : a .domainname ,
6465 }
@@ -109,10 +110,14 @@ func (a *keystoneAuther) updateGrafanaUserPermissions(userid int64, isAdmin bool
109110}
110111
111112func (a * keystoneAuther ) getGrafanaOrgFor (orgname string ) (* m.Org , error ) {
113+
114+ log .Debug ("getGrafanaOrgFor( %v )" , orgname )
115+
112116 // get org from grafana db
113117 orgQuery := m.GetOrgByNameQuery {Name : orgname }
114118 if err := bus .Dispatch (& orgQuery ); err != nil {
115119 if err == m .ErrOrgNotFound {
120+ log .Debug ("orgname %s not found - create it" , orgname )
116121 return a .createGrafanaOrg (orgname )
117122 } else {
118123 return nil , err
@@ -209,6 +214,7 @@ func (a *keystoneAuther) syncOrgRoles(username, password string, user *m.User) e
209214 // add missing org roles
210215 for project , _ := range a .project_list {
211216 if grafanaOrg , err := a .getGrafanaOrgFor (project ); err != nil {
217+ log .Error (3 , "Couldn't find Grafana org %s" , project )
212218 return err
213219 } else {
214220 if _ , exists := handledOrgIds [grafanaOrg .Id ]; exists {
@@ -284,6 +290,7 @@ func (a *keystoneAuther) syncOrgRoles(username, password string, user *m.User) e
284290}
285291
286292func (a * keystoneAuther ) getProjectList (username , password string ) error {
293+ log .Trace ("getProjectList() with username %s" , username )
287294 projects_data := keystone.Projects_data {
288295 Token : a .token ,
289296 Server : a .server ,
@@ -306,12 +313,13 @@ func (a *keystoneAuther) getProjectList(username, password string) error {
306313 for _ , role := range auth .Roles {
307314 roles = append (roles , role .Name )
308315 }
309- a .project_list [project ] = roles
316+ a .project_list [project + "@" + a . domainname ] = roles
310317 }
311318 return nil
312319}
313320
314321func (a * keystoneAuther ) getRole (user_roles []string ) m.RoleType {
322+ log .Trace ("getRole(%v)" , user_roles )
315323 role_map := make (map [string ]bool )
316324 for _ , role := range user_roles {
317325 role_map [role ] = true
0 commit comments