Download the PHP package silverday/nexus-dropin-user without Composer

On this page you can find all versions of the php package silverday/nexus-dropin-user. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package nexus-dropin-user

Nexus Drop-In User Module

Security Tests

Security-first, framework-agnostic PHP 8.2+ user management module for MariaDB/MySQL.

What this is

A drop-in auth/user module you can mount into an existing PHP app.

What you get

Quick start

  1. Install dependencies:

  2. Configure database (environment mode):

  3. Run migrations:

  4. Start demo router:

Lightweight host-app demo

If you want a cleaner, app-like example (homepage + register/login + restricted user/admin pages), use:

  1. Configure the demo in this file:

Set at least:

  1. Run migrations (uses the same config file by default if NEXUS_CONFIG_FILE is not set):

  2. Start the demo app:

Then open http://127.0.0.1:8081.

Optional: use a different config file via environment variable:

This example demonstrates the intended drop-in style:

Install in a host app

Use Composer to install this module into your application. This is the recommended approach for production usage.

If the package is available on Packagist:

If you want to install directly from GitHub (VCS source):

Then run:

Manual unzip/copy into your app directory is possible for experiments, but not recommended because dependency updates, autoloading, and version pinning are harder to maintain.

Configuration modes

The module now supports both environment-based and file-based configuration.

A) Environment variables

Used by default when no config file is provided.

Primary keys:

B) Config file (app-local by default)

The demo router and migration runner look for an app-local config file first:

Override options (in precedence order):

  1. NEXUS_CONFIG_FILE_PATH constant in your entrypoint
  2. Web-server scoped $_SERVER['NEXUS_CONFIG_FILE']
  3. Process environment variable NEXUS_CONFIG_FILE
  4. App-local default file path

You can still use NEXUS_CONFIG_FILE when useful, but for multi-app servers prefer app-local files or per-app entrypoint constants.

Migration runner also accepts an explicit config path argument:

See the template in examples/config/module.config.php.

Supported config keys include:

Email text and transport configuration

You can configure both what is sent and how it is sent from the config file.

Transport options:

Example transport config:

Email text is file-based by default. Template file lookup is:

Example file-template config:

Default template example:

Default mail notification templates shipped:

Template file contents are preformatted text with placeholders:

Optional array fallback when no file template exists:

Available placeholders for verify_email:

Available placeholders for admin_new_user_registered:

When admin_registration_notify_to is set (array or comma-separated list), admin notifications are emitted on successful registration using the admin_new_user_registered template.

Host app database reuse (drop-in embedding)

For host-app embedding, the config file can provide a shared PDO instance via pdo.

If pdo is present, the demo router and migration runner reuse it instead of opening a separate DB connection.

This lets the module use the same database/session context as the embedding application.

Host app bootstrap example

For a concrete shared-PDO integration example, see:

Run it like this:

It exposes sample host-mounted routes:

Example endpoints (JSON)

HTML modules

All POST /ui/* routes require valid CSRF tokens.

Testing

Fast security suite:

Full DB-backed security suite (ephemeral MariaDB):

Focused WebAuthn-enabled DB path:

Security defaults

Architecture notes

Key extension interfaces:

Primary composition roots:

Current status

Phase-1 and planned Phase-2 capabilities are implemented in this repository, with DB-backed security regression coverage and CI workflow validation.


All versions of nexus-dropin-user with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-pdo Version *
psr/log Version ^3.0
web-auth/webauthn-lib Version ^4.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package silverday/nexus-dropin-user contains the following files

Loading the files please wait ...