LiveGTech / gShell

Interactive graphical desktop environment for LiveG OS.
https://liveg.tech/os
Other
15 stars 3 forks source link

Add auth implementation #2

Closed James-Livesey closed 2 years ago

James-Livesey commented 2 years ago

This PR adds the majority of the implementation for authentication, and introduces classes that represent users, user authentication credentials, and authentication methods.

See docs/en/auth.md for more information about the authentication implementation in LiveG OS.

By default (for testing purposes), a new user is created on the system if it doesn't exist, with the UID as test. The user has no secure authentication methods attached to it, and so the lock screen simply unlocks immediately to the LiveG OS Debug Environment. Toggling Enforce passcode auth will enable or disable passcode-based authentication with the passcode of 1234 for testing purposes at this stage.

Entering the wrong passcode will cause a delay to mitigate brute-force attacks.

tramcrazy commented 2 years ago

Hey! I'm happy to merge now that we've fixed that DevTools issue.