Hold users in DB and users have to sign on with a password #478
Comments
|
oh, totally support the idea! what also should be done is creating back up process (better automatically by cron) for db with possibility to copy to external source |
|
great feature. our ISP provider only support dynamic ip in China. This could finally solve On Wednesday, August 6, 2014, magenoxx notifications@github.com wrote:
|
|
Why not offer user registration, but still have a "login in as guest" option? |
|
it can be useful but how it is implemented now - guest won't be able to re-connect |
|
My proposition is public-private key authentication. The only disadvantage is that you have to teach users that they have to export their identity (pub/priv key) and store it somewhere in order not to loose their identity. Sure, this doesn't prevent users from creating multiple profiles but registration doesn't either. Anyway, who would bother doing that? Also, people can decide if they want to play with newcomers based on number of games they played. You can also store number of games person abandoned (disconnected before the actual game finished). |
|
That would never work, unfortunately. Too much work for the average player. From: Mike [mailto:notifications@github.com] My proposition is public-private key authentication. The only disadvantage is that you have to teach users that they have to export their identity (pub/priv key) and store it somewhere in order not to loose their identity. Sure, this doesn't prevent users from creating multiple profiles but registration doesn't either. Anyway, who would bother doing that? Also, people can decide if they want to play with newcomers based on number of games they played. You can also store number of games person abandoned (disconnected before the actual game finished). — |
|
What do you mean? Exporing identity is too much work? Nobody says they have to, if they don't and loose it, they'll be treated as "guests". Priv/pub key is generated on first run and doesn't prompt user to anything. Just like in TS3, you just run executable for the first time and default identity is generated by default. You just connect to a server and.. talk (play? ;) ) |
|
I love it. So you can ban, suspend or just see the stats a player who "disconnect" from a tournament all the time. |
|
What's needed for a first implementation step: We should add some more attributes to the new user DB
Display in the user list if a user has a profile and a possibility to show the information from the user (like matches played etc.) |
|
As an initial implementation I propose to start from a very simple authentication flow with a minimum user attributes stored (user names, hashed passwords and email addresses). Then we can start extending the functionality. [Registration]
[Resetting password]
Things that need to be implemented In addition to the current pull request:
Things that are not included at least to the initial implementation:
Please let me know if you guys have thoughts on it. I'll start implementing above shortly. |
|
I still propose pub priv key auth with keys being generated during first run. No logins, no passwords, no forgotten passwords. Cons (for me its advantage tho) are: users can change nicks as they wish but are still bound to their pub key and moving account to another pc requires more than remembering email and pass (you have to export/import private key either via txt file or clipboard. Also huge advantages are that you dont store any private data (such as email) and the auth works without any forms |
|
Hi Mike, The way how TeamSpeak 3 authenticates provides a very high security integrity level at such a low cost, which is great, but I'm not sure if we need it for XMage. Other points don't seem essential to me, we register web services all the time so another registration shouldn't be a huge cost. I still prefer us start from a simple authentication system. We can switch to a more sophisticated system once it's ready. |
|
The current system currently refuses reconnection for a username if your IP address changes, so I appreciate if that gets eliminated with the username/password system (I have to use cell service to connect so my IP address changes if it loses signal for any amount of time, so I get booted from games pretty regularly). |
|
Obviously(?) this needs to be optional, so that developers and contributors don't need to setup accounts on their local servers. Also, there seems to be more code already for setting up that external library and its user repository than it would take to implement the whole thing without any new dependencies. |
|
It could be of course a useful option to be able to activate/deactivate user authentification in the server config.xml. |
|
fireshoes, yes, we should be able to do the identity check using authentication information rather than IPs. LoneFox78, good point. User DB is kept across updates so it'll be one time cost but it's still a pain. It's useful to have a server option to skip authentication. |
So it would still be possible to run xmage servers without the need to create profiles (e.g. in a local network). |
|
Let me close this issue as the implementation is completed. Starting from the next client/server release:
|
This issue gathers advantages and disadvantes and possible features if we create a database with users and users have to sign on with password to verify identity.
Questions
Advantages
Disadvantages
Possible Features
Feel free to add comments with additional thoughts.
The text was updated successfully, but these errors were encountered: