Π―Π½Π΄Π΅ΠΊΡ.OAuth ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ Yii2 ΒΆ
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));
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.