mentalrob/laravel-steam-auth
Composer 安装命令:
composer require mentalrob/laravel-steam-auth
包简介
Steam Auth for Laravel 7
README 文档
README
Package allows you to implement Steam authentication in your Laravel project.
Requirements
- Laravel 8+
- Guzzle HTTP 6.5+
Installation
Install the package
composer require mentalrob/laravel-steam-auth
Publish the config file
php artisan vendor:publish --provider="Ilzrv\LaravelSteamAuth\ServiceProvider"
Setup Steam API Key(s)
Add your Steam API key to your .env file. You can find it here.
if you want to use multiple API keys just list them separated by commas
STEAM_AUTH_API_KEYS=YourSteamApiKey1,YourSteamApiKey2
Example
In routes/web.php:
Route::get('login', 'Auth\SteamAuthController@login');
Create a controller SteamAuthController.php:
<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use App\User; use Illuminate\Support\Facades\Auth; use Ilzrv\LaravelSteamAuth\SteamAuth; use Ilzrv\LaravelSteamAuth\SteamData; class SteamAuthController extends Controller { /** * The SteamAuth instance. * * @var SteamAuth */ protected $steamAuth; /** * Where to redirect users after login. * * @var string */ protected $redirectTo = RouteServiceProvider::HOME; /** * SteamAuthController constructor. * * @param SteamAuth $steamAuth */ public function __construct(SteamAuth $steamAuth) { $this->steamAuth = $steamAuth; } /** * Get user data and login * * @return \Illuminate\Http\RedirectResponse */ public function login() { if (!$this->steamAuth->validate()) { return $this->steamAuth->redirect(); } $data = $this->steamAuth->getUserData(); if (is_null($data)) { return $this->steamAuth->redirect(); } Auth::login( $this->firstOrCreate($data), true ); return redirect($this->redirectTo); } /** * Get the first user by SteamID or create new * * @param SteamData $data * @return User|\Illuminate\Database\Eloquent\Model */ protected function firstOrCreate(SteamData $data) { return User::firstOrCreate([ 'steam_id' => $data->getSteamId(), ], [ 'name' => $data->getPersonaName(), 'avatar' => $data->getAvatarFull(), 'player_level' => $data->getPlayerLevel(), // ...and other what you need ]); } }
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-09-27