2016-12-15 56 views
1

我使用Laravel 5.2驗證系統想出這個命令:的登錄Laravel驗證外部數據和註冊

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 
} 

順便說一句,我想傳遞場從$登錄上來的驗證類,像我們實際上可以做驗證: :用戶() - >電子郵件給我們的電子郵件,我想要設置值像「數據庫字段」,但我的API JSON字段後面

我看着互聯網,發現內部AuthController和相關的東西到ServiceProvider,但我不知道如何按照我的確切需求

回答

0

我結束了編碼我自己的身份驗證系統...

使用會話()和輸入()

+0

你可以提供更多信息或將Prrof概念代碼放置在公共回購的某個地方嗎? – gandra404

+0

Hi @ gandra404,我簡單地創建了一箇中間件檢查會話(loginNumber)是否存在,然後對其執行操作。會話由登錄表單通過一個函數進行放置,該函數簡單地根據我的外部API檢查憑證的有效性。 – Plotisateur

+0

感謝您的信息。 你在哪裏存儲會話(loginNumber)? – gandra404

2

在這種情況下添加自定義用戶提供程序將有所幫助。這裏不需要使用AuthController。檢查this Laravel Docs page

您需要創建新的用戶提供了實現Illuminate\Contracts\Auth\UserProvider,在AuthServiceProvider指定它,並相應地更新您的權威性配置文件。

這裏是鏈接到框架的默認的用戶提供程序供參考:

1)DatabaseUserProvider

2)EloquentUserProvider

+0

嗨,thanx的方向。我跟着這個教程https://blog.georgebuckingham.com/laravel-52-auth-custom-user-providers-drivers/,但我不知道如何使用這些函數來滿足我的需求之後呢? – Plotisateur

+0

如何填寫提供者的功能? – Plotisateur

+0

這就是使用Auth API進行遊戲的代碼。如果您在[文檔頁面](https://laravel.com/docs/5.3/authentication#adding-custom-user-providers)上滾動一下,則有關於定製用戶提供程序的每種方法。 – Gaurav