mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
User: Expose GCOM user ID as externalUserId in grafanaBootData (#47307)
* user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * fix sql indtent Co-authored-by: Joao Silva <joao.silva@grafana.com> Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
This commit is contained in:
parent
05098ec38e
commit
71db5115f4
@ -28,6 +28,7 @@ type LoginCommand struct {
|
|||||||
type CurrentUser struct {
|
type CurrentUser struct {
|
||||||
IsSignedIn bool `json:"isSignedIn"`
|
IsSignedIn bool `json:"isSignedIn"`
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
|
ExternalUserId string `json:"externalUserId"`
|
||||||
Login string `json:"login"`
|
Login string `json:"login"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
@ -653,6 +653,7 @@ func (hs *HTTPServer) setIndexViewData(c *models.ReqContext) (*dtos.IndexViewDat
|
|||||||
IsSignedIn: c.IsSignedIn,
|
IsSignedIn: c.IsSignedIn,
|
||||||
Login: c.Login,
|
Login: c.Login,
|
||||||
Email: c.Email,
|
Email: c.Email,
|
||||||
|
ExternalUserId: c.SignedInUser.ExternalAuthId,
|
||||||
Name: c.Name,
|
Name: c.Name,
|
||||||
OrgCount: c.OrgCount,
|
OrgCount: c.OrgCount,
|
||||||
OrgId: c.OrgId,
|
OrgId: c.OrgId,
|
||||||
|
@ -173,6 +173,8 @@ type SignedInUser struct {
|
|||||||
OrgId int64
|
OrgId int64
|
||||||
OrgName string
|
OrgName string
|
||||||
OrgRole RoleType
|
OrgRole RoleType
|
||||||
|
ExternalAuthModule string
|
||||||
|
ExternalAuthId string
|
||||||
Login string
|
Login string
|
||||||
Name string
|
Name string
|
||||||
Email string
|
Email string
|
||||||
|
@ -548,10 +548,13 @@ func (ss *SQLStore) GetSignedInUser(ctx context.Context, query *models.GetSigned
|
|||||||
u.help_flags1 as help_flags1,
|
u.help_flags1 as help_flags1,
|
||||||
u.last_seen_at as last_seen_at,
|
u.last_seen_at as last_seen_at,
|
||||||
(SELECT COUNT(*) FROM org_user where org_user.user_id = u.id) as org_count,
|
(SELECT COUNT(*) FROM org_user where org_user.user_id = u.id) as org_count,
|
||||||
|
user_auth.auth_module as external_auth_module,
|
||||||
|
user_auth.auth_id as external_auth_id,
|
||||||
org.name as org_name,
|
org.name as org_name,
|
||||||
org_user.role as org_role,
|
org_user.role as org_role,
|
||||||
org.id as org_id
|
org.id as org_id
|
||||||
FROM ` + dialect.Quote("user") + ` as u
|
FROM ` + dialect.Quote("user") + ` as u
|
||||||
|
LEFT OUTER JOIN user_auth on user_auth.user_id = u.id
|
||||||
LEFT OUTER JOIN org_user on org_user.org_id = ` + orgId + ` and org_user.user_id = u.id
|
LEFT OUTER JOIN org_user on org_user.org_id = ` + orgId + ` and org_user.user_id = u.id
|
||||||
LEFT OUTER JOIN org on org.id = org_user.org_id `
|
LEFT OUTER JOIN org on org.id = org_user.org_id `
|
||||||
|
|
||||||
@ -579,6 +582,10 @@ func (ss *SQLStore) GetSignedInUser(ctx context.Context, query *models.GetSigned
|
|||||||
user.OrgName = "Org missing"
|
user.OrgName = "Org missing"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if user.ExternalAuthModule != "oauth_grafana_com" {
|
||||||
|
user.ExternalAuthId = ""
|
||||||
|
}
|
||||||
|
|
||||||
getTeamsByUserQuery := &models.GetTeamsByUserQuery{OrgId: user.OrgId, UserId: user.UserId}
|
getTeamsByUserQuery := &models.GetTeamsByUserQuery{OrgId: user.OrgId, UserId: user.UserId}
|
||||||
err = ss.GetTeamsByUser(ctx, getTeamsByUserQuery)
|
err = ss.GetTeamsByUser(ctx, getTeamsByUserQuery)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user