blob: f0b36097d92792d17e2f8d450376ad4f62340c25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# Migrate User Collections
## Tags
* assigned: zachs
* priority: critical
* status: open
* keywords: authentication, authorisation, oauth2, user collections
* type: bug
## Description
With the successful deployment of the auth(entic|oris)ation system to staging/CD, we need to move some of the existing features over to using the new auth(entic|oris)ation system.
This issue tracks the migration of user collections.
### Implementation Notes
The user collections are stored in redis, and linked to the user using [the user id][0]. This ID is entirely different from that in the auth(entic|oris)ation system, unless we get the go-ahead to [migrate the user accounts][1].
The auth(entic|oris)ation system provides the following endpoint(s) for getting user details
* `/oauth2/user/`: Note the trailing forward slash (/). This endpoint provides user data such as the user's ID, email and name, and their group membership information.
Since we know the form that the user account are stored in redis[1], we can use that to search for user collections.
The steps would be something like:
* User registers afresh using their email and (possibly new) password
* User logs in
* System searches for user with the same email in redis
* If user with similar email is not found, do nothing
* If user with similar email is found, retrieve their old user-id
* Use old user-id to identify their collections
* If no collections are found using the old user-id, do nothing.
* If at least one collection is found using the old user-id present user with option to "migrate data"
* User click the "migrate data" button
* System changes user-id on the identified collections from the old user-id to the new user-id
## Links
=> https://github.com/genenetwork/genenetwork2/blob/5a8432adb56f9fddbc9e42a9eb8de5e4a0879ee6/wqflask/utility/redis_tools.py#L82-L83 0
=> https://issues.genenetwork.org/issues/authentication_authorisation/migrate-user-accounts-from-redis 1
|