Remove the user from the cache without refreshing it (#1422)

Some IdPs might have eventual consistency for their API calls, and refreshing the cache with its data may return the deleted user as part of the account

Introduce a new account manager method, removeUserFromCache, to remove the user from the local cache without refresh
This commit is contained in:
Maycon Santos
2024-01-01 19:17:44 +01:00
committed by GitHub
parent f780f17f85
commit b28b8fce50
2 changed files with 20 additions and 5 deletions

View File

@ -1073,11 +1073,10 @@ func (am *DefaultAccountManager) deleteUserFromIDP(targetUserID, accountID strin
if err != nil {
return fmt.Errorf("failed to remove user %s app metadata in IdP: %s", targetUserID, err)
}
_, err = am.refreshCache(accountID)
if err != nil {
log.Errorf("refresh account (%q) cache: %v", accountID, err)
}
}
err := am.removeUserFromCache(accountID, targetUserID)
if err != nil {
log.Errorf("remove user from account (%q) cache failed with error: %v", accountID, err)
}
return nil
}