dicr / yii2-yandex-oauth
Яндекс OAuth клиент для Yii2
2.1.0
2021-04-09 07:59 UTC
Requires
- php: ~7.4 || ~8.0.1
- ext-curl: *
- dicr/yii2-helper: ~4.5
- dicr/yii2-json: ~2.0
- dicr/yii2-validate: ~2.3
- yiisoft/yii2: ~2.0
- yiisoft/yii2-httpclient: ~2.0
Requires (Dev)
- roave/security-advisories: dev-latest
README
API: https://yandex.ru/dev/oauth/doc/dg/concepts/about.html
Способ получить отладочный токен вручную, без обработки callback: https://yandex.ru/dev/oauth/doc/dg/tasks/get-oauth-token.html
Дополнительно реализован метод получения информации о пользователе UserInfoRequest
из API Яндекс.ID (Passport).
Настройка
$config = [
'components' => [
'yandex-oauth' => [
'class' => dicr\yandex\oauth\OAuthClient::class,
'clientId' => 'ИД приложения',
]
]
];
Использование
/** @var dicr\yandex\oauth\OAuthClient $oauth */
$oauth = Yii::$app->get('yandex-oauth');
/** @var dicr\yandex\oauth\AuthRequest $req запрос кода авторизации */
$req = $oauth->authRequest();
/** @var string $oauthUrl адрес для переадресации клиента */
$oauthUrl = $req->url();
// переадресация клиента на Яндекс.OAuth
Yii::$app->end(0, Yii::$app->response->redirect($oauthUrl));