| Summary: | Require a non-changing userid for both password or openid authenticated accounts | ||
|---|---|---|---|
| Product: | [ECD] Orion | Reporter: | Simon Kaegi <simon_kaegi> |
| Component: | Client | Assignee: | John Arthorne <john.arthorne> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | malgorzata.tomczyk, Szymon.Brandys |
| Version: | 1.0 | ||
| Target Milestone: | 1.0 M2 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
| Bug Depends on: | 343264 | ||
| Bug Blocks: | |||
|
Description
Simon Kaegi
This won't make M1. We already have unique userID which is different than user login. The userID can be found in user url, see http://localhost:8080/users/[userId]. For instance my local Orion account with login 'szymon' has url http://localhost:8080/users/C and userID in this case is 'C'. I am working on this now. Currently, we have the following properties for each user: Id = 8FuSXG7wABEQAYHjxj8dMA (A randomly generated UUID) UserName = A (A sequentially generated UUID) Name = John Arthorne (optional user selected display name) Login = johna (optional credential login - doesn't exist for OpenID accounts) I propose simplifying this by removing the sequentially generated UUID. For login/password based accounts this will be replaced by the login value. For OpenID accounts we could also allow a "login" to be specified. If none is specified we would use the randomly generated UUID. So we would have either: Id = 8FuSXG7wABEQAYHjxj8dMA (A randomly generated UUID) UserName = johna (user selected, globally unique username) Name = John Arthorne (optional user selected display name) Login = johna For an account created with OpenID, we would start with: Id = 8FuSXG7wABEQAYHjxj8dMA (A randomly generated UUID) UserName = 8FuSXG7wABEQAYHjxj8dMA (globally unique username) Name = John Arthorne (optional user selected display name) Another option is that we remove UserName and have only Id and display name. This would be more limiting because it would prevent us from ever being able to change "username" after account creation. I've decided to keep the sequentially generated id, and toss out the random UUID. The sequential Id is consistent with how we treat workspaces and projects. I have also found the code inconsistent and in some places the id is called a username, etc. I am trying to make it consistently as follows: Id - sequentially generated globally unique ID (e.g., user "A", user "B", etc) UserName - globally unique nickname that appears in URLs (e.g., "johna", "skaegi", etc) Name - user selected display name (optional) Login - only used for login/password authentication. Typically the same as UserName although in theory a single user can have multiple authentications for multiple servers. As part of this I want to make the bare bones minimal user setup as simple as possible. For example a trial account where someone just wants to give it a spin. Therefore UserName and Name will be treated as optional. If the UserName is not provided, it will be the same as Id. There were a few small cleanup commits, but here are the main ones: http://git.eclipse.org/c/orion/org.eclipse.orion.server.git/commit/?id=94667112ec50a194f78f4fa15266fee40f75b9f2 http://git.eclipse.org/c/orion/org.eclipse.orion.server.git/commit/?id=8c05d14ab50fd2f64c3b9f240f62f2478a98dd82 These changes were committed to master. |