Open lboklin opened 4 years ago
Thank you @lboklin for the feedback!
Would allowing sign-in using alternative providers (e.g. Microsoft, GitHub, etc) resolve your concerns?
Also wondering if there is an identity provider which is broadly used by people who care deeply about privacy. GitHub might be acceptable, but it is biased towards programmers.
(Incidentally, the practice feature only requires signing in for decks. For courses, anyone can practice).
While I clearly have a GitHub account, I would want for anyone to be able to use the service even if not registered with any of the large corporations. By taking a quick look, I see OpenID as a possible solution. Simple registration via e-mail would be perfectly acceptable as well.
Thanks, that makes sense!
I integrated with OpenID Connect, and used it to support Microsoft accounts. Unfortunately, there are very few providers supporting OpenID Connect right now, and none of them could be considered independent of large corporations.
So I am planning to do the following:
Approach (2.ii) corresponds to anonymous sign-in with a secret (instead of e.g. a private/public key pair). I feel that this should suffice to protect something as trivial as the progress of users on a deck, while at the same time respecting their privacy and not placing the burden and responsibility of storing passwords (which will inevitably be reused across different services, despite all warnings) on me.
Do you think that this would address your concerns, while also providing an acceptable user experience? For context, the only purpose of sign-in is having per-user storage of scores for each card, so I do not see significant concerns with the lack of a passwords. Also, this is just a fallback, and users who want actual authentication could always opt for an external provider. But I could be missing something.
For context, as mentioned on the reddit thread, I would strongly prefer to avoid handling passwords myself (even if properly salted/pbkdf2'd).
Pasting the relevant piece here, for reference: I also intend to share the database with a few trusted Lojbanists, to mitigate the bus factor. Storing personally identifiable information and/or passwords (even salted) would introduce additional considerations.
Hopefully, descentralized identity will be a reality some day.
How about localStorage?
Users who do not use any Google services cannot access the practice feature.