Search by

maikschneider / api-key

m.schneider

Stateless API key authentication for TYPO3 — lets scripts, cron jobs, CI pipelines and server-to-server integrations call protected endpoints.

Package info

github.com/maikschneider/api-key

Homepage

Documentation

Type:typo3-cms-extension

pkg:composer/maikschneider/api-key

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 3


README

Extension icon

TYPO3 extension api_key

Supported PHP versions Tests CGL Coverage License

Stateless API key authentication for TYPO3. Scripts, cron jobs, CI pipelines and server-to-server integrations send a key, and any API, PSR-15 middleware or auth service can verify it, without creating sessions or cookies.

curl -H 'X-API-Key: t3key_…' https://example.com/api/articles
curl -H 'Authorization: Bearer t3key_…' https://example.com/api/articles

Warning

This extension is under development and not released yet.

✨ Features

  • X-API-Key and Authorization: Bearer headers. Bearer tokens without the t3key_ prefix are left to other authenticators
  • Service keys, keys bound to a frontend user and keys bound to a backend user
  • Keys are stored as HMAC hashes and shown only once at creation
  • Optional restrictions per key: scopes, expiry, IP ranges, sites
  • No fe_sessions rows, no Set-Cookie, no lastlogin updates

🔥 Installation

composer require maikschneider/api-key

🔑 Managing keys

vendor/bin/typo3 apikey:create --title="CI deploy" --scope=articles:write --expires="+90 days"
vendor/bin/typo3 apikey:list
vendor/bin/typo3 apikey:revoke t3key_KhhNfTRL

The key is printed once and cannot be recovered.

📙 Documentation

Usage, configuration, the developer guide for consumers and security notes: docs.typo3.org.

Tip

Behind Apache, bearer tokens only reach TYPO3 with CGIPassAuth On. The X-API-Key header always works.

🧑‍💻 Contributing

See CONTRIBUTING.md.

⭐ License

This project is licensed under GNU General Public License 2.0 (or later).