Improve hyrax/seed/setup.json user creation (no hardcoded passwords, added Shibboleth support)
Currently, creating users via hyrax/seed/setup.json
requires putting hardcoded credentials into that file. Since this is a potential security issue, we have decided to remove the support for setting passwords at all through this file. Since User
objects don't support a nil
password, we will now simply generate a random 32 byte / 256 bit "password" (which may contain non-printable characters).
These passwords are not meant to be used/entered anyway, since login for all users (including admins) is supposed to use either Shibboleth or ORCID. However, since RDMS/Hyrax requires at least one admin user to exist at the first startup in order to create the CRC_1280_COLLECTION
and the corresponding crc_1280_manager
and crc_1280_member
roles, this commit also adds support for pre-seeding Shibboleth accounts via hyrax/seed/setup.json
.