Plugin used in the UserAdminService to login/logout a user. The UserAdminService is only available if at least on AuthenticationPlugin is available in the system. An AuthenticationPlugin must be registered as service with interface system.user.api.AuthenticationPlugin.

interface AuthenticationPlugin {
    getAuthorization(
        user: undefined | User,
        userAdmin: UserAdminService,
    ): Authorization;
    getUser(
        authentication: Authentication,
        userAdmin: UserAdminService,
    ): undefined | User;
    login(
        credentials: undefined | LoginCredentials,
        userAdmin: UserAdminService,
    ): Authentication | Promise<Authentication>;
    logout(
        authentication: Authentication,
        userAdmin: UserAdminService,
    ): boolean | Promise<boolean>;
}

Methods