verifymyagecouk / verifymyage-oauth
VerifyMyAge OAuth Verification
Installs: 30 084
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 4
Forks: 1
Open Issues: 1
Type:project
Requires
- league/oauth2-client: ^2.6
This package is auto-updated.
Last update: 2024-05-02 19:32:53 UTC
README
PHP SDK to use VerifyMyAge OAuth service.
Installation
composer require verifymyagecouk/verifymyage-oauth
Get Started
<?php require(__DIR__ . "/vendor/autoload.php"); $vma = new VerifyMyAge\OAuth(getenv('VMA_CLIENT_ID'), getenv('VMA_CLIENT_SECRET'), getenv('VMA_REDIRECT_URL')); //$vma->useSandbox(); // Redirect or show age-gate if we don't have a code yet if (!isset($_GET['code'])) { $redirectURL = $vma->redirectURL(VerifyMyAge\Countries::GERMANY); $_SESSION['oauth2state'] = $vma->state(); header('Location: ' . $redirectURL); exit; // Avoid CSRF attack } elseif (empty($_GET['state']) || (isset($_SESSION['oauth2state']) && $_GET['state'] !== $_SESSION['oauth2state'])) { if (isset($_SESSION['oauth2state'])) { unset($_SESSION['oauth2state']); } exit('Invalid state'); } else { try { // Try to get an access token using the authorization code grant. $accessToken = $vma->exchangeCodeByToken($_GET['code']); $user = $vma->user($accessToken); var_export($user); } catch (\Exception $e) { // Failed to get the access token or user details. exit($e->getMessage()); } }
Country Options
VerifyMyAge\Countries::FRANCE
VerifyMyAge\Countries::GERMANY
VerifyMyAge\Countries::UNITED_KINGDOM