eliuflorez / steam-auth
Laravel Steam Auth
1.0
2016-01-23 16:45 UTC
Requires
- php: >=5.4.0
- illuminate/support: 5.*
This package is not auto-updated.
Last update: 2024-09-14 18:31:35 UTC
README
此包是 Laravel 5 服务提供者,提供 Steam OpenID 支持,非常容易与任何需要 Steam 认证的项目的集成。
通过 Composer 安装
将以下内容添加到您的 composer.json
文件中的 require 对象
"eliuflorez/steam-auth": "1.*"
之后,运行 composer install
安装包。
最后,将服务提供者添加到 app/config/app.php
文件中的 providers 数组。
'providers' => [ // ... EliuFlorez\SteamAuth\SteamServiceProvider::class, ]
最后,发布配置文件。
php artisan vendor:publish
使用示例
在 config/steam-auth.php
return [ /* * Redirect URL after login */ 'redirect_url' => '/login', /* * API Key (http://steamcommunity.com/dev/apikey) */ 'api_key' => 'Your API Key' ];
在 routes.php
get('login', 'AuthController@login');
在 AuthController
namespace App\Http\Controllers; use EliuFlorez\SteamAuth\SteamAuth; use App\User; use Auth; class AuthController extends Controller { /** * @var SteamAuth */ private $steam; public function __construct(SteamAuth $steam) { $this->steam = $steam; } public function login() { if ($this->steam->validate()) { $info = $this->steam->getUserInfo(); if (! is_null($info)) { $user = User::where('steamid', $info->getSteamID64())->first(); if (!is_null($user)) { Auth::login($user, true); return redirect('/'); // redirect to site }else{ $user = User::create([ 'username' => $info->getNick(), 'avatar' => $info->getProfilePictureFull(), 'steamid' => $info->getSteamID64() ]); Auth::login($user, true); return redirect('/'); // redirect to site } } } else { return $this->steam->redirect(); // redirect to Steam login page } } }