PHP code example of lifewind / laravel-sso-client

1. Go to this page and download the library: Download lifewind/laravel-sso-client 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/ */

    

lifewind / laravel-sso-client example snippets


return [
    'paths' => ['api/*', 'sso/*'],
    'allowed_origins' => ['https://your-frontend.com'],
    'allowed_headers' => ['*'],
    'allowed_methods' => ['*'],
    'supports_credentials' => false, // JWT in Authorization header
];

// routes/api.php
Route::middleware(['lifewind.auth'])->group(function () {
    Route::get('/dashboard', [DashboardController::class, 'index']);
    Route::apiResource('projects', ProjectController::class);
    Route::get('/profile', [UserController::class, 'profile']);
});



namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;

class DashboardController extends Controller
{
    public function index(Request $request): JsonResponse
    {
        // The middleware ensures this user is authenticated
        $user = $request->user(); // Returns User model instance
        
        return response()->json([
            'message' => "Welcome {$user->name}!",
            'user' => [
                'id' => $user->id,
                'email' => $user->email,
                'name' => $user->name,
                'lifewind_uuid' => $user->lifewind_uuid,
            ],
            'dashboard_data' => [
                'recent_activity' => '...',
                'notifications' => '...'
            ]
        ]);
    }
}

// config/lifewind-sso.php
'user' => [
    'model' => App\Models\CustomUser::class,
    'create' => true,
    'update' => true,
    'fields' => [
        'email' => 'email',
        'name' => 'name',
        'lifewind_uuid' => 'lifewind_uuid',
    ],
],

// config/lifewind-sso.php
'cache' => [
    'user_data' => true,      // Cache user data lookups
    'ttl' => 300,             // 5 minutes
],

'rate_limiting' => [
    'validate' => '10,1',     // 10 requests per minute
    'user' => '60,1',         // 60 requests per minute
    'refresh' => '5,1',       // 5 requests per minute
],
bash
php artisan vendor:publish --provider="LifeWind\SSO\SSOServiceProvider"
php artisan migrate
bash
# Test SSO configuration
php artisan sso:test

# Test with detailed output
php artisan sso:test --verbose

# Test specific environment
php artisan sso:test --env=staging