From 0bdcaf67a53f4f5eb2972bc4fb8ef4704e3cab9b Mon Sep 17 00:00:00 2001 From: Caleb Doxsey Date: Tue, 3 Nov 2020 07:59:01 -0700 Subject: [PATCH] update user info in addition to refreshing the token (#1572) --- go.sum | 2 ++ internal/identity/manager/manager.go | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/go.sum b/go.sum index f6d904c5d..327285480 100644 --- a/go.sum +++ b/go.sum @@ -723,6 +723,7 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200927032502-5d4f70055728/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102 h1:42cLlJJdEh+ySyeUUbEQ5bsTiq8voBeTuweGVkY6Puw= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -923,6 +924,7 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201030142918-24207fddd1c3 h1:sg8vLDNIxFPHTchfhH1E3AI32BL3f23oie38xUWnJM8= google.golang.org/genproto v0.0.0-20201030142918-24207fddd1c3/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= diff --git a/internal/identity/manager/manager.go b/internal/identity/manager/manager.go index b6099b068..f8cb3249f 100644 --- a/internal/identity/manager/manager.go +++ b/internal/identity/manager/manager.go @@ -369,6 +369,22 @@ func (mgr *Manager) refreshSession(ctx context.Context, userID, sessionID string } s.OauthToken = ToOAuthToken(newToken) + err = mgr.cfg.Load().authenticator.UpdateUserInfo(ctx, FromOAuthToken(s.OauthToken), &s) + if isTemporaryError(err) { + mgr.log.Error().Err(err). + Str("user_id", s.GetUserId()). + Str("session_id", s.GetId()). + Msg("failed to update user info") + return + } else if err != nil { + mgr.log.Error().Err(err). + Str("user_id", s.GetUserId()). + Str("session_id", s.GetId()). + Msg("failed to update user info, deleting session") + mgr.deleteSession(ctx, s.Session) + return + } + res, err := session.Set(ctx, mgr.cfg.Load().dataBrokerClient, s.Session) if err != nil { mgr.log.Error().Err(err).