User Management
skysail can manage the users of your system - but it might make much more sense to delegate this task to other systems like keycloak and the like. There are a couple of bundles capable of either managing users or delegating this task; those bundles implement the following interface ("UserManagementRepository"), defined in skysail.api:
public interface UserManagementRepository {
/**
* @return the user for the given username.
*/
Optional<User> getUser(String username);
/**
* @return a mapping between usernames and the actual user objects.
*/
Map<String, User> getUsers();
/**
* @return all (existing) roles
*/
Set<Role> getRoles();
/**
* @return the mapping between users and their associated roles.
*/
public Map<User, Set<Role>> getUsersRoles();
}