खोज…


फेसबुक डेवलपर पर एक ऐप बनाएं

[ Https://developers.facebook.com/kes(https://developers.facebook.com/) पर जाएं और अपना ऐप बनाएं। एक नया ऐप बनाने के बाद इंटरफ़ेस

Add product क्लिक करें और Facebook Login

ऐप फेसबुक लॉगिन के लिए सेटिंग

Yii2-Cortclient स्थापित करें

इस एक्सटेंशन को इंस्टॉल करने से पहले, आपको yii2-app इंस्टॉल करना होगा। इस उदाहरण में, मैं yii2- मूल टेम्पलेट का उपयोग करता हूं। यहाँ स्थापना के लिए गाइड।

Daud

composer require --prefer-dist yiisoft/yii2-authclient

या जोड़ें

"yiisoft/yii2-authclient": "~2.1.0"

अपने composer.json की require

Config जोड़े authClientCollection अपने config करने के लिए components :

return [
    'components' => [
        'authClientCollection' => [
            'class' => 'yii\authclient\Collection',
            'clients' => [
                'facebook' => [
                    'class' => 'yii\authclient\clients\Facebook',
                    'clientId' => 'facebook_client_id',
                    'clientSecret' => 'facebook_client_secret',
                ],
            ],
        ]
    ],
    // ...
];

facebook_client_id एप्लिकेशन आईडी है और facebook_client_secret ऐप गुप्त है। जानकारी फेसबुक क्लाइंट आईडी और क्लाइंट सीक्रेट

मौखिक कार्रवाई जोड़ें और कॉलबैक सेट अप करें

  1. अपने लॉगिन दृश्य Login as facebook account बटन Login as facebook account जोड़ें:

site/login.php को दृश्य फ़ोल्डर में संपादित करें, पृष्ठ लॉगिन की सामग्री में थ्रेस लाइन जोड़ें:

<?= yii\authclient\widgets\AuthChoice::widget([
     'baseAuthUrl' => ['site/auth'],
     'popupMode' => false,
]) ?>

इन सबसे ऊपर, हम सेट कि auth में कार्रवाई SiteController OAuth2 प्रवाह हैंडलर होगा।

अब हम इसे बनाते हैं।

class SiteController extends Controller
{
    public function actions()
    {
        return [
            'auth' => [
                'class' => 'yii\authclient\AuthAction',
                'successCallback' => [$this, 'onAuthSuccess'],
            ],
        ];
    }

    public function onAuthSuccess($client)
    {
        // do many stuff here, save user info to your app database
    }
}

हम url बनाने और facebook लॉगिन पेज पर रीडायरेक्ट करने के लिए yii\authclient\AuthAction उपयोग करते हैं।

फंक्शन onAuthSuccess उपयोगकर्ता जानकारी प्राप्त करने के लिए उपयोग किया जाता है, अपने ऐप में लॉगिन करें।

Redirect_url को फेसबुक ऐप सेटिंग में जोड़ें

यदि आप अपने yii2-app में बहुत अधिक सक्षम करते हैं, तो आपका रीडायरेक्ट_यूरी होगा:

http://<base_url>/web/site/auth

और सुंदर url अक्षम करें:

http://<base_url>/web/index.php?r=site%2Fauth

उदाहरण:

सेटअप रीडायरेक्ट_यूरी

OnAuthSuccess फ़ंक्शन के लिए उदाहरण

/**
 * @param $client ClientInterface
 */
public function onAuthSuccess($client)
{
    //Get user info
    /** @var array $attributes */
    $attributes = $client->getUserAttributes();
    $email = ArrayHelper::getValue($attributes, 'email'); //email info
    $id = ArrayHelper::getValue($attributes, 'id'); // id facebook user
    $name = ArrayHelper::getValue($attributes, 'name'); // name facebook account

    //Login user
    //For demo, I will login with admin/admin default account
    $admin = User::findByUsername('admin');
    Yii::$app->user->login($admin);
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow