Необходимо авторизовать приложение каждый раз - hybridauth laravel localhost

Я интегрировал HybridAuth с Laravel и могу войти в свое приложение через Twitter с помощью HybridAuth. Когда я впервые захожу в приложение через твиттер, я авторизовал свое приложение. поэтому, как правило, после следующего раза мне не нужно авторизовать мое приложение для входа в систему, потому что я впервые принял авторизацию.

но этого не происходит. мое приложение принудительно авторизуется через твиттер каждый раз, когда я пытаюсь войти в твиттер.

я пытаюсь это на localhost. я должен проверить это на живом сервере?

Я использую этот код, все учетные данные установлены:

Route::get('social/{action?}', array("as" => "hybridauth", function($action = "")
{
    // check URL segment
    if ($action == "auth") {
        // process authentication
        try {
            Hybrid_Endpoint::process();
        }
        catch (Exception $e) {
            // redirect back to http://URL/social/
            return Redirect::route('hybridauth');
        }
        return;
    }
    try {
        // create a HybridAuth object
        $socialAuth = new Hybrid_Auth(app_path() . '/config/hybridauth.php');
        // authenticate with Google
        $provider = $socialAuth->authenticate("Twitter");
        // fetch user profile
        $userProfile = $provider->getUserProfile();
    }
    catch(Exception $e) {
        // exception codes can be found on HybBridAuth's web site
        return $e->getMessage();
    }
    // access user profile data
    echo "Connected with: <b>{$provider->id}</b><br />";
    echo "As: <b>{$userProfile->displayName}</b><br />";
    echo "<pre>" . print_r( $userProfile, true ) . "</pre><br />";

    // logout
    $provider->logout();
}));

1 ответ

Решение

Я нашел решение. это не было в коде, чтобы что-то исправить. Это были настройки приложения твиттера. Чтобы избежать такого рода проблем, вы должны выбрать Read and Write вариант, а не Read, Write and Access direct messages вариант из Permission раздел настроек вашего приложения.

Если вы выберете Read, Write and Access direct messages, тогда твиттер всегда будет предлагать вам авторизовать ваше приложение всякий раз, когда вы пытаетесь войти в свое приложение через ваше твиттер-приложение. См. Изображение ниже для более четкой информации.

Надеюсь, это поможет вам. СпасибоПосмотреть изображение

Другие вопросы по тегам