Files
teleport/lib/services
Andrew Lytvynov 3cfdc9b6f7 mfa: fix startup crash when SSO users with MFA expire (#6779)
The user loading code is kind of convoluted: it loads all the separate
backend items from the `/web/users/` prefix into a struct. That struct
is then converted to a full `types.User` object.

For each user there are 3 kinds of backend items:
- `/params` which is the main one, containing a marshalled `types.User`
  object
- `/pwd` which contains the hashed password for local users
- `/mfa/...` which contain registered MFA devices

When an SSO user expires, we delete the first two items but not
`/mfa/...`. This is intentional, to persist MFA devices across logins.
The user loading code would fail because the user was "found" (thanks to
MFA items), but didn't have the mandatory `/params` item.

This PR ignores any users that don't have `/params` instead of
hard-failing all `GetUsers` calls.
2021-05-12 09:00:36 -07:00
..
2021-04-07 15:49:27 -07:00
2020-11-13 16:29:18 -08:00
2021-03-24 14:33:40 -07:00
2021-05-06 18:22:41 -07:00
2021-05-06 11:24:49 -07:00
2021-03-11 17:05:38 -08:00
2021-03-11 17:05:38 -08:00
2021-03-24 14:33:40 -07:00