> For the complete documentation index, see [llms.txt](https://webauthn-doc.spomky-labs.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://webauthn-doc.spomky-labs.com/v5.2/pure-php/advanced-behaviours.md).

# Advanced Behaviours

This section covers advanced WebAuthn features and customization options for Pure PHP implementations.

## Overview

While the basic WebAuthn implementation covers most use cases, you may need to customize certain behaviors to meet specific security or user experience requirements. These advanced topics help you fine-tune your WebAuthn integration.

## Available Topics

### Security & Validation

* [**Debugging**](/v5.2/pure-php/advanced-behaviours/debugging.md) - Enable debug logging to troubleshoot WebAuthn operations
* [**Authenticator Counter**](/v5.2/pure-php/advanced-behaviours/authenticator-counter.md) - Detect cloned authenticators using signature counters
* [**Attestation and Metadata Statement**](/v5.2/pure-php/advanced-behaviours/attestation-and-metadata-statement.md) - Verify authenticator attestations and trust anchors

### User Experience

* [**User Verification**](/v5.2/pure-php/advanced-behaviours/user-verification.md) - Configure biometric or PIN requirements
* [**Authenticator Selection Criteria**](/v5.2/pure-php/advanced-behaviours/authenticator-selection-criteria.md) - Control which authenticators can be used
* [**Authentication without Username**](/v5.2/pure-php/advanced-behaviours/authentication-without-username.md) - Enable resident keys for passwordless login

### Technical Configuration

* [**Authenticator Algorithms**](/v5.2/pure-php/advanced-behaviours/authenticator-algorithms.md) - Configure supported cryptographic algorithms
* [**Extensions**](/v5.2/pure-php/advanced-behaviours/extensions.md) - Use WebAuthn extensions for additional features
* [**Cross Origin Authentication**](/v5.2/pure-php/advanced-behaviours/dealing-with-localhost.md) - Handle localhost and development environments

## When to Use Advanced Features

Most applications will work fine with the default WebAuthn configuration. Consider these advanced features when:

* **Security is paramount**: Use attestation verification and counter checking for high-security applications
* **User experience matters**: Enable usernameless authentication and optimize authenticator selection
* **Debugging issues**: Enable logging when troubleshooting registration or authentication problems
* **Compliance requirements**: Some regulations may require specific attestation or verification settings

## Quick Start

For basic WebAuthn implementation, start with these pages:

1. [Webauthn Server](/v5.2/pure-php/webauthn-server.md) - Set up the basic server components
2. [Authenticator Registration](/v5.2/pure-php/authenticator-registration.md) - Register user authenticators
3. [Authenticate Your Users](/v5.2/pure-php/authenticate-your-users.md) - Perform authentication

Then return to this section for advanced customization.

{% hint style="info" %}
If you're using the Symfony Bundle, see the [Symfony Bundle Advanced Behaviors](/v5.2/symfony-bundle/advanced-behaviors.md) section for framework-specific implementations.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://webauthn-doc.spomky-labs.com/v5.2/pure-php/advanced-behaviours.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
