2016-12-15 3 views
1

Я использую систему идентификации Laravel 5.2 придумывающая этой команды:Laravel Auth внешние данные для входа в систему и зарегистрировать

php artisan make:auth 

Хотя это работает совершенно нормально, как есть, моя цель заключается в использовании внешнего API для выполнения регистрации, регистрации и смены пароля, при этом все еще можно использовать основную функцию класса Auth.

Так что, логин, например, я хочу использовать что-то вроде

function login(ApiController $api) { 
    // This function return data or error code and message in JSON 
    $login = $api->login([ $credentials['email'], $credentials['password']]); 
    if($login->success) 
     // login successfully like normal Auth would do 
    else 
     // redirect to main page with $login->message 
} 

Кстати, я хочу передать поля подходя от $ входа в класс Auth, как мы можем реально сделать Auth: : user() -> email, дающий нам электронное письмо, я бы хотел установить значение, например «поле базы данных», но с моими полями API JSON за

Я посмотрел в Интернете и нашел что-то, что нужно сделать внутри AuthController и что-то связанное к ServiceProvider, но я не знаю, как следовать моим точным потребностям

ответ

0

Я в конечном итоге кодированиями своей собственной системы идентификации ...

Использование session() и Input()

+0

Можете ли вы дать больше информации или поставить код Prrof of Concept где-нибудь в публичном репо? – gandra404

+0

Привет @ gandra404, я просто создал промежуточное программное обеспечение, проверяющее сеанс (loginNumber), и затем действуйте на нем. Сессия помещается формой входа через функцию, которая просто проверяет правильность учетных данных для моего внешнего API. – Plotisateur

+0

Спасибо за информацию. Где вы храните сеанс (loginNumber)? – gandra404

2

Добавление пользовательского провайдера поможет в этом случае. Здесь нет необходимости играть с AuthController. Проверьте this Laravel Docs page.

Вам нужно будет создать новый пользовательский провайдер, который реализует Illuminate\Contracts\Auth\UserProvider, указать его в AuthServiceProvider и обновить файл аутентификации конфигурации соответственно.

Вот ссылки на провайдер по умолчанию пользователя по фреймворке для справки:

1) DatabaseUserProvider

2) EloquentUserProvider

+0

Привет, спасибо за направление. Я следовал этому руководству https://blog.georgebuckingham.com/laravel-52-auth-custom-user-providers-drivers/, но я не могу получить, как использовать функции, чтобы соответствовать моим потребностям после этого? – Plotisateur

+0

Как заполнить все функции в полете? – Plotisateur

+0

Вот где код для игры с вашим API-интерфейсом будет идти. Если вы немного прокрутите страницу [docs] (https://laravel.com/docs/5.3/authentication#adding-custom-user-providers), есть спецификация того, что точно входит в каждый метод пользовательского пользовательского провайдера , – Gaurav

Смежные вопросы