Supporting default authenticated access to NiFi requires implementing a new LoginIdentityProvider and related classes to generate and store a random default username and password.
The provider implementation should have the following features:
- Support one username and password account record
- Use java.util.UUID to generate a username when no existing account is found
- Use java.security.SecureRandom to generate a password when no existing account is found
- Store the generated password using a secure hashing algorithm
- Write the generated username and password to the log once after initial generation
This provider is intended for initial configuration of a standalone NiFi system. Adjustment of default NiFi properties should be implemented separately following implementation of default HTTPS access.