Class UserService

java.lang.Object
com.google.common.util.concurrent.AbstractIdleService
All Implemented Interfaces:
EngineServices.ConfigurableService<UserService.UserServiceConfig>, EngineServices.InfoProvidingService, com.google.common.util.concurrent.Service, com.yubico.webauthn.CredentialRepository

@Singleton public class UserService extends AbstractEngineIdleService<UserService.UserServiceConfig> implements com.yubico.webauthn.CredentialRepository
UserService provides CRUD functionality for all user entities. Uses a LuceneService to store the user entities.

Provides authentication, authorization, verification and other access control functionality.

Passwords are stored using SCrypt (implemented by wg/scrypt). Passwords are optional, since it's possible to use OTP or WebAuthn. OTPs are 6 digit strings like 123 456 and can use SMS, e-mail, webhook or TOTP. OTPs can also be used as a second factor.