This commit is contained in:
Dan Cech 2018-03-19 17:09:49 -04:00
parent d2eab2ff4c
commit 23f163e8cf
No known key found for this signature in database
GPG Key ID: 6F1146C5B66FBD41
4 changed files with 20 additions and 10 deletions

View File

@ -53,6 +53,17 @@ func UpsertUser(ctx *m.ReqContext, cmd *m.UpsertUserCommand) error {
}
}
if userQuery.UserAuth == nil && extUser.AuthModule != "" && extUser.AuthId != "" {
cmd2 := m.SetAuthInfoCommand{
UserId: cmd.User.Id,
AuthModule: extUser.AuthModule,
AuthId: extUser.AuthId,
}
if err := bus.Dispatch(&cmd2); err != nil {
return err
}
}
err = syncOrgRoles(cmd.User, extUser)
if err != nil {
return err
@ -71,15 +82,6 @@ func createUser(extUser *m.ExternalUserInfo) (*m.User, error) {
return nil, err
}
cmd2 := m.SetAuthInfoCommand{
UserId: cmd.Result.Id,
AuthModule: extUser.AuthModule,
AuthId: extUser.AuthId,
}
if err := bus.Dispatch(&cmd2); err != nil {
return nil, err
}
return &cmd.Result, nil
}

View File

@ -1,10 +1,15 @@
package models
import (
"time"
)
type UserAuth struct {
Id int64
UserId int64
AuthModule string
AuthId string
Created time.Time
}
type ExternalUserInfo struct {

View File

@ -8,7 +8,7 @@ func addUserAuthMigrations(mg *Migrator) {
Columns: []*Column{
{Name: "id", Type: DB_BigInt, IsPrimaryKey: true, IsAutoIncrement: true},
{Name: "user_id", Type: DB_BigInt, Nullable: false},
{Name: "auth_module", Type: DB_NVarchar, Length: 30, Nullable: false},
{Name: "auth_module", Type: DB_NVarchar, Length: 190, Nullable: false},
{Name: "auth_id", Type: DB_NVarchar, Length: 100, Nullable: false},
{Name: "created", Type: DB_DateTime, Nullable: false},
},

View File

@ -1,6 +1,8 @@
package sqlstore
import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
)
@ -107,6 +109,7 @@ func SetAuthInfo(cmd *m.SetAuthInfoCommand) error {
UserId: cmd.UserId,
AuthModule: cmd.AuthModule,
AuthId: cmd.AuthId,
Created: time.Now(),
}
_, err := sess.Insert(&authUser)