Проблема с авторизацией для входа в Instagram в Laravel5.4
Я пытаюсь войти в систему с помощью Instagram, и я ссылаюсь на laravelでinstagramに投稿された写真を全取得してみた
Когда я пытаюсь войти в систему, у него возникают некоторые проблемы, он перенаправляет на домашнюю страницу, не может отображать информацию о пользователе, но я хочу показать информацию о пользователе на странице.
Как я могу решить эту проблему? спасибо.
Шаг за шагом:
1. Установите cosenary/instagram
composer require cosenary/instagram
2. Настройка разработчика Instagram
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');
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',