diff options
author | JoramWilander <jwawilander@gmail.com> | 2016-02-03 10:32:37 -0500 |
---|---|---|
committer | JoramWilander <jwawilander@gmail.com> | 2016-02-03 10:32:37 -0500 |
commit | 3425aa3e5d814e0c6d377a7faa07de6451216be1 (patch) | |
tree | 1ea1f34b9660078d3f5ec4062df879e01f947a50 /api/user.go | |
parent | f7fddd6cce43ec75599eb4aa463276f18eb4ca28 (diff) | |
download | chat-3425aa3e5d814e0c6d377a7faa07de6451216be1.tar.gz chat-3425aa3e5d814e0c6d377a7faa07de6451216be1.tar.bz2 chat-3425aa3e5d814e0c6d377a7faa07de6451216be1.zip |
Update user email when switching to SSO
Diffstat (limited to 'api/user.go')
-rw-r--r-- | api/user.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/api/user.go b/api/user.go index 91c8c022a..8b2df7143 100644 --- a/api/user.go +++ b/api/user.go @@ -2087,13 +2087,16 @@ func switchToSSO(c *Context, w http.ResponseWriter, r *http.Request) { func CompleteSwitchWithOAuth(c *Context, w http.ResponseWriter, r *http.Request, service string, userData io.ReadCloser, team *model.Team, email string) { authData := "" + ssoEmail := "" provider := einterfaces.GetOauthProvider(service) if provider == nil { c.Err = model.NewLocAppError("CompleteClaimWithOAuth", "api.user.complete_switch_with_oauth.unavailable.app_error", map[string]interface{}{"Service": service}, "") return } else { - authData = provider.GetAuthDataFromJson(userData) + ssoUser := provider.GetUserFromJson(userData) + authData = ssoUser.AuthData + ssoEmail = ssoUser.Email } if len(authData) == 0 { @@ -2120,7 +2123,7 @@ func CompleteSwitchWithOAuth(c *Context, w http.ResponseWriter, r *http.Request, return } - if result := <-Srv.Store.User().UpdateAuthData(user.Id, service, authData); result.Err != nil { + if result := <-Srv.Store.User().UpdateAuthData(user.Id, service, authData, ssoEmail); result.Err != nil { c.Err = result.Err return } |