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.
- PHP 8.0 or higher
- Laravel 9 or 10 or higher
To install the package, use Composer:
composer require wemx/sso-pterodactyl
- Publish the configuration file by running the following command:
php artisan vendor:publish --tag=sso-wemx
This command will publish the config/sso-wemx.php file, where you can set the secret key for SSO authorization.
- Generate new SSO key
php artisan wemx:generate
Make sure to paste the SSO key on your WemX application
- 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-wemx/", [
'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.
If you have any questions or issues, please create a new issue in the project repository on GitHub.
This project is licensed under the MIT License. See the LICENSE file for details.