1. Go to this page and download the library: Download eludadev/passage 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/ */
eludadev / passage example snippets
use Eludadev\Passage\Passage;
$passage = new Passage(env('APP_ID'), env('API_KEY'), '<AUTH_STRATEGY>' /* optional */);
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Illuminate\Support\Facades\Route;
Route::get('/passage', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
return $passage->createMagicLink("[email protected]", "/redirect");
});
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Illuminate\Support\Facades\Route;
// Authentication using Passage class instance
Route::get('authenticatedRoute', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
try {
// Authenticate request using Passage
$userID = $passage->authenticateRequest($request);
if ($userID) {
// User is authenticated
$userData = $passage->user->get($userID);
return;
}
} catch (\Exception $e) {
// Authentication failed
return "Authentication failed!";
}
});
$passage = new Passage(env('APP_ID'), env('API_KEY'), 'HEADER');
use Illuminate\Support\Facades\Route;
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Eludadev\Passage\Middleware\PassageAuthMiddleware;
// Example of passage middleware
Route::get('authenticatedRoute', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$userID = $request->userID;
})->middleware(PassageAuthMiddleware::class);
use Eludadev\Passage\Passage;
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$appInfo = $passage->getApp();
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Eludadev\Passage\Middleware\PassageAuthMiddleware;
Route::get('authenticatedRoute', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$userID = $request->userID;
$passageUser = $passage->user->get($userID);
return $passageUser->email;
})->middleware(PassageAuthMiddleware::class);
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Eludadev\Passage\Middleware\PassageAuthMiddleware;
Route::get('authenticatedRoute', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$userID = $request->userID;
$deactivatedUser = $passage->user->deactivate($userID);
$deactivatedUser->active; // false
$activatedUser = $passage->user->activate($userID);
$activatedUser->active; // true
})->middleware(PassageAuthMiddleware::class);
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Eludadev\Passage\Middleware\PassageAuthMiddleware;
Route::get('authenticatedRoute', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$userID = $request->userID;
$passageUser = $passage->user->update($userID, [
'email' => '[email protected]',
'phone' => '+15005550006'
]);
$passageUser->email; // [email protected]
$passageUser->phone; // +15005550006
})->middleware(PassageAuthMiddleware::class);
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Eludadev\Passage\Middleware\PassageAuthMiddleware;
Route::get('authenticatedRoute', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$userID = $request->userID;
$deletedUser = $passage->user->delete($userID);
$deletedUser; // true
})->middleware(PassageAuthMiddleware::class);
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Eludadev\Passage\Middleware\PassageAuthMiddleware;
Route::get('authenticatedRoute', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$userID = $request->userID;
$devices = $passage->user->listDevices($userID);
return $devices;
})->middleware(PassageAuthMiddleware::class);
use Illuminate\Http\Request;
use Eludadev\Passage\Passage;
use Eludadev\Passage\Middleware\PassageAuthMiddleware;
Route::get('authenticatedRoute', function (Request $request) {
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$userID = $request->userID;
$success = $passage->user->revokeDevice($userID, '<DEVICE_ID>');
return $success; // true
})->middleware(PassageAuthMiddleware::class);
use Eludadev\Passage\Passage;
$passage = new Passage(env('APP_ID'), env('API_KEY'));
$magicLink = $passage->createMagicLink('[email protected]', '/custom-path/1234');
// use Magic Link URL
$magicLink->url;
// routes/api.php
use Eludadev\Passage\Errors\PassageError;
use Eludadev\Passage\Passage;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
// This route handles the authentication process for the '/auth' endpoint
Route::post('/auth', function (Request $request) {
try {
// Create a new instance of the Passage class using the Passage API credentials from the environment variables
$passage = new Passage(env('PASSAGE_APP_ID'), env('PASSAGE_API_KEY'), 'HEADER');
// Authenticate the request using the Passage API
$userId = $passage->authenticateRequest($request);
if ($userId) {
// If authentication is successful, retrieve user data using the Passage API
$userData = $passage->user->get($userId);
// Determine the identifier based on the user data (email or phone)
$identifier = $userData['email'] ? $userData['email'] : $userData['phone'];
// Return the authentication status and identifier
return [
'authStatus' => 'success',
'identifier' => $identifier
];
}
} catch (PassageError $e) {
// Catch any errors that occur during the authentication process and echo the error message
echo $e->getMessage();
// Return the authentication failure status
return [
'authStatus' => 'failure'
];
}
});
sh
laravel new my-php-project
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.