48 lines
1.4 KiB
Java
48 lines
1.4 KiB
Java
package org.gcube.keycloak.avatar.storage.file;
|
|
|
|
import org.gcube.keycloak.avatar.storage.AvatarStorageProvider;
|
|
import org.gcube.keycloak.avatar.storage.AvatarStorageProviderFactory;
|
|
import org.keycloak.Config;
|
|
import org.keycloak.models.KeycloakSession;
|
|
import org.keycloak.models.KeycloakSessionFactory;
|
|
|
|
public class FileAvatarStorageProviderFactory implements AvatarStorageProviderFactory {
|
|
|
|
public static final String DEFAULT_AVATAR_FOLDER = (
|
|
System.getProperty("jboss.server.data.dir") != null
|
|
? System.getProperty("jboss.server.data.dir")
|
|
: System.getProperty("user.home")
|
|
) + "/avatar";
|
|
|
|
public static final Boolean USE_EMAIL_AS_FILENAME_DEFAULT = Boolean.FALSE;
|
|
|
|
private String avatarFolder;
|
|
private Boolean useEmailAsFilename;
|
|
|
|
@Override
|
|
public AvatarStorageProvider create(KeycloakSession session) {
|
|
return new FileAvatarStorageProvider(avatarFolder, useEmailAsFilename);
|
|
}
|
|
|
|
@Override
|
|
public void init(Config.Scope config) {
|
|
avatarFolder = config.get("avatar-folder", DEFAULT_AVATAR_FOLDER);
|
|
useEmailAsFilename = config.getBoolean("use-email-as-filename", USE_EMAIL_AS_FILENAME_DEFAULT);
|
|
}
|
|
|
|
@Override
|
|
public void postInit(KeycloakSessionFactory factory) {
|
|
// NOOP
|
|
}
|
|
|
|
@Override
|
|
public void close() {
|
|
// NOOP
|
|
}
|
|
|
|
@Override
|
|
public String getId() {
|
|
return "avatar-storage-file";
|
|
}
|
|
|
|
} |