boo / radius
A PHP RADIUS client implementation
Installs: 1 834
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 3
Open Issues: 0
Requires
- php: >=5.5
- ext-sockets: *
- clue/socket-raw: ^1.3
- marc-mabe/php-enum: ^2.3.1
- paragonie/random_compat: ^2.0
Requires (Dev)
- jakub-onderka/php-parallel-lint: ~1.0.0
- php-coveralls/php-coveralls: ~2.1.0
- phpunit/phpunit: ~4.8.36
- symfony/console: ~3.4.11
- symfony/var-dumper: ~3.4.11
- twig/twig: ~1.35.3
This package is auto-updated.
Last update: 2024-11-16 08:06:57 UTC
README
boo/radius is a PHP 5.5+ RADIUS client implementation.
Installation
The preferred method of installation is via Packagist and Composer. Run the following command to install the package and add it as a requirement to your project's composer.json
:
composer require boo/radius
Usage
<?php use Boo\Radius\Client; use Boo\Radius\Packet; use Boo\Radius\PacketType; $client = new Client('udp://127.0.0.1:1812', /* timeout */ 2); $response = $client->send(new Packet(PacketType::ACCESS_REQUEST(), /* secret */ 'xyzzy5461', [ 'User-Name' => 'nemo', 'User-Password' => 'arctangent', ])); if ($response->getType() !== PacketType::ACCESS_ACCEPT()) { throw new \RuntimeException('Unable to authenticate as user "nemo"'); }
Dictionary
The following RADIUS dictionaries are supported out-of-the-box:
- MikroTik
- RFC 2865
- RFC 2866
- RFC 2867
- RFC 2868
- RFC 2869
- RFC 3162
- RFC 3576
- RFC 3580
- RFC 4072
- RFC 4372
- RFC 4603
- RFC 4675
- RFC 4679
- RFC 4818
- RFC 4849
- RFC 5090
- RFC 5176
Custom Dictionary
Additional attributes can be registered by creating a custom dictionary class that implements Boo\Radius\DictionaryInterface
.
Copyright and License
The boo/radius library is copyright © Jonas Stendahl and licensed for use under the MIT License (MIT). Please see LICENSE for more information.