Class TextIdentityProviderPlugin

  • All Implemented Interfaces:
    IdentityProviderPlugin, io.vertigo.core.node.component.Activeable, io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Plugin

    public class TextIdentityProviderPlugin
    extends Object
    implements IdentityProviderPlugin, io.vertigo.core.node.component.Activeable
    A simple implementation of the Realm interface that uses a set of configured user accounts and roles to support authentication and authorization. Each account entry specifies the username, password, and roles for a user. Roles can also be mapped to permissions and associated with users.

    User accounts and roles are stored in two Maps in memory, so it is expected that the total number of either is not sufficiently large.

    Since:
    0.1
    • Constructor Detail

      • TextIdentityProviderPlugin

        @Inject
        public TextIdentityProviderPlugin​(String filePath,
                                          String filePatternStr,
                                          String userAuthField,
                                          String userIdentityEntity,
                                          io.vertigo.core.resource.ResourceManager resourceManager,
                                          io.vertigo.datamodel.smarttype.SmartTypeManager smartTypeManager)
        Constructor.
        Parameters:
        resourceManager - Resource Manager
        filePath - File path
        filePatternStr - File Pattern (id, displayName, email, authToken, photoUrl)
        userAuthField - Authent token field name
        userIdentityEntity - User dtDefinition name
    • Method Detail

      • getAllUsers

        public <E extends io.vertigo.datamodel.structure.model.Entity> List<E> getAllUsers()
        Specified by:
        getAllUsers in interface IdentityProviderPlugin
        Type Parameters:
        E - project's User entity type
        Returns:
        all users
      • getUserByAuthToken

        public <E extends io.vertigo.datamodel.structure.model.Entity> E getUserByAuthToken​(String userAuthToken)
        Gets an newly authentified account by his authToken.
        Specified by:
        getUserByAuthToken in interface IdentityProviderPlugin
        Type Parameters:
        E - project's User entity type
        Parameters:
        userAuthToken - user authToken
        Returns:
        Logged account
      • getPhoto

        public <E extends io.vertigo.datamodel.structure.model.Entity> Optional<VFile> getPhoto​(io.vertigo.datamodel.structure.model.UID<E> accountURI)
        Gets the photo of an account defined by its URI.
        Specified by:
        getPhoto in interface IdentityProviderPlugin
        Type Parameters:
        E - project's User entity type
        Parameters:
        accountURI - the account defined by its URI
        Returns:
        the photo as a file
      • start

        public void start()
        Specified by:
        start in interface io.vertigo.core.node.component.Activeable
      • stop

        public void stop()
        Specified by:
        stop in interface io.vertigo.core.node.component.Activeable