Download the PHP package phpdot/webauthn without Composer

On this page you can find all versions of the php package phpdot/webauthn. 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 webauthn

phpdot/webauthn

This is an experimental package. The API surface may change in any release without a deprecation cycle — pin the constraint and read the release notes before upgrading.

WebAuthn and passkeys for the PHPdot ecosystem — a production wrap of web-auth/webauthn-lib: ceremony orchestration, single-use TTL-bound challenges, duplicate-credential refusal, counter discipline after every authentication, and an exception fence no vendor type leaks past. Storage is the host's, through three small contracts; authentication plugs into phpdot/iam as one stage.

Table of Contents

Requirements

Requirement Constraint
PHP >= 8.5
ext-json *
ext-openssl *
paragonie/constant_time_encoding ^2.6 \|\| ^3.0
phpdot/contracts ^0.3
psr/clock ^1.0
symfony/serializer ^8.0
web-auth/cose-lib ^4.7
web-auth/webauthn-lib ^5.3

phpdot/iam (dev-only suggestion) enables the WebauthnStage bridge; phpdot/container for the binding attributes.

Installation

Usage

Strings in, strings out. Begin a ceremony and hand the JSON to the browser; take the browser's credential JSON back and finish:

beginAuthentication(null) starts a discoverable (passkey, usernameless) ceremony. The core speaks users and handles, never identities — mapping a handle to your actor is the caller's one line.

As an iam factor, that line is the bridge: WebauthnStage + your WebauthnIdentityProviderInterface mapping — passkeys work as the identifying factor or as a step-up after a password:

Configuration arrives through the #[Config('webauthn')] DTO — rpId, rpName, allowedOrigins (mandatory: an empty origin list refuses to construct rather than fall back to the library's looser deprecated origin check), the COSE algorithm set (shipped wide: ES256/384/512, RS256/384/512, PS256/384/512, Ed25519), challenge bytes (minimum 16, default 32), and the ceremony TTL (default 300s on the injected PSR-20 clock).

Storage contract

The package owns the ceremonies; the host owns storage, through two contracts plus the handle mapping.

Architecture

WebauthnEngine (singleton) builds the library once — serializer, wide attestation support (none and packed: real passkey clients ignore a none preference, a spec SHOULD, and would otherwise hard-fail at parse time), the wide algorithm manager, and both validators; nothing is touched after build. WebauthnService (scoped) orchestrates: challenge generation, single-use state, the duplicate refusal the library never performs, the mandatory counter write, and the exception fence — the library's two disjoint exception roots plus foreign CBOR/cose escapes all translate to PHPdot\WebAuthn\Exception\WebauthnException and its leaves.

Testing

License

MIT.

This repository is a read-only mirror, generated by CI from phpdot/monorepo. Pull requests and issues belong in the monorepo.


All versions of webauthn with dependencies

PHP Build Version
Package Version
Requires php Version >=8.5
ext-json Version *
ext-openssl Version *
paragonie/constant_time_encoding Version ^2.6 || ^3.0
phpdot/contracts Version ^0.3
psr/clock Version ^1.0
symfony/serializer Version ^8.0
web-auth/cose-lib Version ^4.7
web-auth/webauthn-lib Version ^5.3
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 phpdot/webauthn contains the following files

Loading the files please wait ...