Проблема с авторизацией для входа в Instagram в Laravel5.4


Я пытаюсь войти в систему с помощью Instagram, и я ссылаюсь на laravelでinstagramに投稿された写真を全取得してみた

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


Шаг за шагом:

1. Установите cosenary/instagram

composer require cosenary/instagram

2. Настройка разработчика Instagram IG DEP

3. Установка "идентификатора клиента" , "client_secret" и "callback_url" на../config/instagram.php :

<?php

return [

    'client_id'     => '0264df4679584XXXXXX313e5bd90',
    'client_secret' => '6eXXXXXXf369298c5433084ee21',
    'callback_url'  => 'http://localhost/',
    'scopes'        => 'basic public_content'

];

4. Инстаграмконтроллер

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use MetzWeb\Instagram\Instagram;

class InstagramController extends Controller
{
    private $instagram;

    function __construct() {

        $this->instagram = new Instagram(array(
            'apiKey' => config('instagram.client_id'),
            'apiSecret' => config('instagram.client_secret'),
            'apiCallback' => config('instagram.callback_url')
        ));
    }


    public function instagramLogin() {
        return redirect($this->instagram->getLoginUrl(array(
            'basic'
        )));
    }


    public function instagramCallback(Request $request) {
        $code = $request->code;

        $data = $this->instagram->getOAuthToken($code);
        $this->instagram->setAccessToken($data);

        $user_data = $this->instagram->getUser();
        dd($user_data);
        echo '<pre>';
        var_dump($user_data);
        echo '</pre>';
    }
}

5. Настройка../routes/web.php

Route::get('login/instagram/', 'InstagramController@instagramLogin');

# Instagram callback
    Route::get('login/instagram/callback/', 'InstagramController@instagramCallback');
Author: Shuan-han Chen, 2017-10-30

1 answers

Вы перенаправляетесь на http://localhost, которая является просто главной страницей Laravel.

Вместо этого вам нужно перенаправить на маршрут обратного вызова Instagram.

В config/instagram.php обновите настройки:

'callback_url' => 'http://localhost/login/instagram/callback',

Или, если у вас настроена .env:

'callback_url' => env('APP_URL') . '/login/instagram/callback',
 2
Author: andrewtweber, 2017-10-30 22:26:07