1. Go to this page and download the library: Download zozlak/auth library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
zozlak / auth example snippets
namespace zozlak\auth;
b('sqlite::memory:');
// init users
$db->putUser('aaa', authMethod\HttpBasic::pswdData('1234'));
$db->putUser('bbb', authMethod\HttpBasic::pswdData('1234'));
// create auth controller and add auth methods
// (comment/uncomment $ctl->addMethod() lines to test different combinations)
$ctl = new AuthController($db);
$header = new TrustedHeader('HTTP_EPPN');
$ctl->addMethod($header);
$token = new GoogleToken(filter_input(INPUT_GET, 'token') ?? '');
$ctl->addMethod($token);
$shb = new Shibboleth('HTTP_EPPN', '', [], 'https://my.app/Shibboleth.sso/Login', 'https://my.app/url');
//$ctl->addMethod($shb, AuthController::ADVERTISE_ONCE);
$googleAppCfg = [
'client_id' => 'appid.apps.googleusercontent.com',
'client_secret' => 'appsecret',
'redirect_uris' => ['https://my.app/url']
];
$googleAuthCfg = ['access_type' => 'offline', 'refresh_time' => 600];
$google = new Google(filter_input(INPUT_GET, 'token') ?? '', $googleAppCfg, $googleAuthCfg);
//$ctl->addMethod($google, AuthController::ADVERTISE_ONCE);
$basic = new HttpBasic('my realm');
$ctl->addMethod($basic, AuthController::ADVERTISE_ONCE);
$digest = new HttpDigest('realm');
//$ctl->addMethod($digest, AuthController::ADVERTISE_ONCE);
$guest = new Guest('zzz');
$ctl->addMethod($guest);
// try to authenticate
if ($ctl->authenticate()) {
print_r([$ctl->getUserName(), $ctl->getUserData()]);
} else {
// if not authenticated, advertise available method
$ctl->advertise();
header('HTTP/1.1 401 Unauthorized');
echo "Authentication failed\n";
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.