1. Go to this page and download the library: Download taproot/authentication 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/ */
taproot / authentication example snippets
use Taproot\Authentication;
$app->mount('/', Authentication\client($app));
use Taproot\Authentication;
$app->mount('/', Authentication\client($app, function (array $data) {
return storeInDatabase($data);
}, function ($token) {
return fetchFromDatabase($token);
}));
function ($request) {
$token = $request->attributes->get('indieauth.client.token', null);
if ($token !== null) {
// User is logged in as $token['me']
if (!empty($token['access_token']) and !empty($token['micropub_endpoint'])) {
// The user has granted this app privileges detailed in $token['scope'], which can be carried out by sending
// requests to $token['micropub_endpoint'] with $token['access_token']
// Now you might check that the “post” scope is granted, and create some new content on their site (pseudocode):
if (in_array('post', explode($scope, ' '))) {
micropub_post($token['micropub_endpoint'], $token['access_token'], $postDetails);
}
} else {
// The user has logged in using the basic indieauth flow — we know that they’re authenticated as $token['me'],
// but they haven’t granted us any permissions.
}
}
};
$app['owner'] = [
'name' => 'Owner Name',
'url' => 'https://example.com', // Only this field is
use Taproot\Authentication;
$app->mount('/', Authentication\server($app);
function ($request) {
$token = $request->attributes->get('indieauth.server.token', null);
if ($token !== null) {
// The request is authenticated, made by $token['client_id'] on behalf of $token['me'] (guaranteed to be a valid URL).
// $token['date_issued'] is a string containing the ISO8601-formatted datetime the token was issued on.
if (in_array('post', explode($token['scope'], ' '))) {
// The user granted this app the “post” permission, so we can go ahead and take other data in $request and make a new post.
newPost($request->request->all());
}
}
};
use Taproot\Authentication;
$app->mount('/', Authentication\server($app, function (array $data) {
return saveData($data);
}, function ($token) {
return fetchDataForToken($token);
}));
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.