1. Go to this page and download the library: Download codewiser/socialiteprovider 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/ */
try {
$user = Socialite::driver('zenit')->user();
} catch (OAuth2Exception $e) {
return match ($e->getError()) {
// Show response to the user
'access_denied',
'server_error',
'temporarily_unavailable' =>
redirect()
->to(route('login'))
->with('error', $e->getMessage()),
// Silently
'interaction_
use \Illuminate\Http\Request;
use \SocialiteProviders\Zenit\rfc7662\IntrospectedTokenInterface;
public function api(Request $request) {
/** @var IntrospectedTokenInterface $token */
$token = Socialite::driver('zenit')
->introspectToken($request->bearerToken());
if ($token->isActive()) {
//
}
}
$token = Socialite::driver('zenit')
->grant('custom_grant', [/* any request params */]);
use SocialiteProviders\Zenit\ClientConfiguration;
$config = new ClientConfiguration(
Socialite::driver('zenit')->getClientConfiguration()
);
use SocialiteProviders\Zenit\ClientConfiguration;
use SocialiteProviders\Zenit\ClientScope;
$config = new ClientConfiguration();
$config->name = 'name';
$config->namespace = 'namespace';
$config->redirect_uri = 'https://example.com';
$scope = new ClientScope();
$scope->name = 'name';
$scope->description = 'description';
$scope->aud = ['personal'];
$scope->realm = 'public';
$config->scopes->add($scope)
// etc
Socialite::driver('zenit')->updateClientConfiguration($config->toUpdateArray());
use SocialiteProviders\Zenit\Auth\TokenAuthorization;
use Laravel\Socialite\Facades\Socialite;
use Illuminate\Support\Facades\Auth;
Auth::viaRequest('access_token', new TokenAuthorization(
socialiteProvider: 'zenit',
userProvider: Auth::createUserProvider(config('auth.guards.api.provider')),
cache: cache()->driver()
));
use Illuminate\Http\Request;
use Laravel\Sanctum\Contracts\HasApiTokens;
public function index(Request $request) {
$authenticated = $request->user();
if ($authenticated instanceof HasApiTokens) {
// Check scope
$authenticated->currentAccessToken()->scope();
}
}
use Illuminate\Support\Facades\Route;
use SocialiteProviders\Zenit\Middlewares\ScopedToken;
Route::get('example', 'ctl')
->middleware([ScopedToken::class.':my-scope,foo,bar'])
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.