Fixed login hooks not being called during first OAuth login (#10206)
* Fixed login hooks not being called during first OAuth login * prevent call AddUserToTeamByTeamId twice for new users in LoginByOAuth
Этот коммит содержится в:
20
app/oauth.go
20
app/oauth.go
@@ -547,17 +547,17 @@ func (a *App) LoginByOAuth(service string, userData io.Reader, teamId string) (*
|
|||||||
user, err := a.GetUserByAuth(&authData, service)
|
user, err := a.GetUserByAuth(&authData, service)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err.Id == store.MISSING_AUTH_ACCOUNT_ERROR {
|
if err.Id == store.MISSING_AUTH_ACCOUNT_ERROR {
|
||||||
return a.CreateOAuthUser(service, bytes.NewReader(buf.Bytes()), teamId)
|
user, err = a.CreateOAuthUser(service, bytes.NewReader(buf.Bytes()), teamId)
|
||||||
|
} else {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if err = a.UpdateOAuthUserAttrs(bytes.NewReader(buf.Bytes()), user, provider, service); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if len(teamId) > 0 {
|
||||||
|
err = a.AddUserToTeamByTeamId(teamId, user)
|
||||||
}
|
}
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = a.UpdateOAuthUserAttrs(bytes.NewReader(buf.Bytes()), user, provider, service); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(teamId) > 0 {
|
|
||||||
err = a.AddUserToTeamByTeamId(teamId, user)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user