reviactyl / sso-panel
Login to a Reviactyl Panel account with a single redirect
Fund package maintenance!
Requires
- php: ^8.2|^8.3|^8.4|^8.5
- illuminate/support: ^12.0|^13.0
README
Laravel SSO is a package for implementing Single Sign-On (SSO) authorizations in your Laravel project. This package allows you to authorize users on a Laravel panel from another website.
Requirements
- PHP 8.3 or higher
- Laravel 13
- Reviactyl Panel
Installation
To install the package, use Composer:
composer require reviactyl/sso-panel
Configuration
- Publish the configuration file by running the following command:
php artisan vendor:publish --tag=sso-panel
This command will publish the config/sso-panel.php file, where you can set the secret key for SSO authorization.
- Generate new SSO key
php artisan p:sso:generate
Make sure to paste the SSO key on your application
Usage
- Generate a access token for using a GET request from your application
- Redirect the user to the SSO redirect with their token
public function loginPanel() { $response = Http::get("https://panel.example.com/sso-panel/", [ 'sso_secret' => "xxxxxxx", 'user_id' => 1 ]); if (!$response->successful()) { $message = $response['success'] && !$response['success'] ? $response['message'] : 'Something went wrong, please contact an administrator.'; return redirect()->back()->withError($message); } return redirect()->intended($response['redirect']); }
After being redirected to the /sso-login route, the user will be automatically authorized on the Laravel panel if their email address matches a record in the database.
Support
If you have any questions or issues, please create a new issue in the project repository on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.