Привет. У меня laravel проект развернут на heroku, но github Auth не go хорошо. Когда я получаю доступ к «https://my-app.herokuapp.com/login/github», отладчик heroku в браузере возвращает ошибку следующим образом:
(1/1) ClientException
Client error: `GET https://api.github.com/user` resulted in a `401 Unauthorized` response:
{
“message”: “Bad credentials”,
“documentation_url”: “https://developer.github.com/v3”
}
Я погуглил эту ошибку и обнаружил, что все говорят «Установите URL обратного вызова правильно », Но я думаю, что уже сделал это. Вот мои коды и скриншот страницы настроек приложения GitHub.
web.php
Route::get('login/github', 'Auth\LoginController@ redirectToProvider');
Route::get('login/github/callback', 'Auth\LoginController@handleProviderCallback');
services.php
‘github' => [
'client_id’ => env('GITHUB_CLIENT_ID'),
'client_secret' => env('GITHUB_CLIENT_SECRET'),
'redirect’ => '/login/github/callback',
],
LoginController.php
use Illuminate\Support\Facades\Auth;
//my database access object
use App\Http\DAO;
class LoginController extends Controller
{
~~~~~~
public function redirectToProvider()
{
return Socialite::driver('github')->redirect();
}
public function handleProviderCallback(Request $request)
{
//reading a stack trace, this line seems to occurs error.
$github_user = Socialite::driver('github')->user();
$github_id = [$github_user->user['login']][0];
//if user already exists, get its User Model. Otherwise create a new Model.
$dao = new DAO();
$user = $dao->findUser($github_id);
if (empty($user)) {
$user = $dao->addNewUser($github_id);
}
Auth::login($user);
return redirect('/');
}
Что на земле не так? Конечно, проект работает на локальном хосте. Спасибо.