ziganshinalexey / yii2-steam-openid-auth
Подсистема управления авторизацией через Steam
1.0.0
2018-08-27 13:32 UTC
Requires
- php: ^7.2.0
- yiisoft/yii2: ^2.0.13
- yiisoft/yii2-authclient: ^2.1
This package is auto-updated.
Last update: 2025-03-05 06:37:56 UTC
README
Пакет является расширенияем для yiisoft/yii2-authclient
и добавляет готовые классы для работы с авторизацией со Steam через OpenId.
Использование
Controller:
class SiteController extends Controller { use SteamApiComponentTrait; . . . /** * Метод определяет конфигурацию экшенов текущего контроллера. * * @return array */ public function actions() { return [ . . . 'auth' => [ 'class' => SteamAuthAction::class, 'successCallback' => [ $this, 'auth', ], ], ]; } /** * Метод обработки успешной авторизации. * * @param SteamOpenId $openIdClient Клиент авторизации. * * @return void * * @throws InvalidConfigException Если стим гонит. */ public function auth(SteamOpenId $openIdClient): void { // Your action handle. For example: if (! isset($openIdClient->getUserAttributes()['id'])) { throw new InvalidConfigException('Bad steam response.'); } $openIdUrl = explode('/', $openIdClient->getUserAttributes()['id']); $profileId = array_pop($openIdUrl); $profileData = $this->getSteamApiComponent()->getProfile($profileId); var_dump($profileData); die; } . . . }
View:
use yii\authclient\widgets\AuthChoice; /* @var $this yii\web\View */ try { AuthChoice::widget([ 'baseAuthUrl' => ['site/auth'], 'popupMode' => false, ]); } catch (Exception $e) { // Your Catch handle. }
Так же пакет предоставляет функционал работы с апи Steam:
Пока реализован метод получения профиля пользователя.
Class:
$profileData = $this->getSteamApiComponent()->getProfile($profileId);