Как аутентифицировать пользователей Facebook с помощью jwt-auth?

Я использую Laravel 5 и пакет jwt-auth для обработки JWT. Как мне пройти аутентификацию, если пользователь пришел с Facebook?

Моя идея в том, что я собираюсь пройти аутентификацию, используя FB ID и электронную почту. Я сделал это, изменив пароль на fb_id, к сожалению, это не сработало. Любая рекомендация и почему я получаю ошибку ниже? Спасибо!

Код аутентификации:

    //facebook
if(Input::has('fb_id')){
$credentials = Input::only('email','fb_id');
}else{
$credentials = Input::only('email', 'password');
}

try {
// attempt to verify the credentials and create a token for the user
if (! $token = JWTAuth::attempt($credentials)) {
return Response::json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return Response::json(['error' => 'could_not_create_token'], 500);
}

Ошибка:

ErrorException in EloquentUserProvider.php line 108:
Undefined index: password

1

Решение

Обновить: Удалось заставить его работать с помощью JWTAuth :: fromUser ($ user).

//find the user using his details.
$user = User::where('email','=',Input::get('email'))->where('fb_token','=',Input::get('fb_id'))->first();

//then use
$token = JWTAuth::fromUser($user);
8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]