這是我使用的外墻namespace App\Http\Controllers;use App\User;use Illuminate\Http\Request;use Illuminate\Support\Facades\Auth;use Illuminate\Support\Facades\Hash;我已經使用 bcrypt 成功創建了帶有散列密碼的用戶注冊頁面。 //Get singnup view public function getSignup() { return view('user.signup'); } //Process signup public function postSignup(Request $request) { $this->validate($request, [ 'email' => 'email|required|unique:users', 'password' => 'required|min:4' ]); $user = new User([ 'email' => $request->input('email'), 'password' => bcrypt($request->input('password')), ]); $user->save(); return redirect()->route('product.index'); }現在我被困在登錄頁面。Auth::attempt 總是返回 false。我什至嘗試在我的數據庫中存儲一個普通密碼并在沒有 bcrypt 的情況下登錄,但它仍然返回 false。我不知道我現在哪里錯了。//Get signin view public function getSignin() { return view('user.signin'); } //Process signin public function postSignin(Request $request) { $this->validate($request, [ 'email' => 'email|required', 'password' => 'required|min:4' ]); $credentials = array( 'email' => $request->input('email'), 'password' => bcrypt($request->input('password')) ); if(Auth::attempt($credentials)) { return redirect()->route('user.profile'); } return redirect()->route('product.index'); }
2 回答

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
在中config\auth,change guard driver setting 設置為api。
'defaults' => [
'guards' => 'api',
'passwords' => 'users'
]
但是 Laravel 不支持attempt()guard 函數api。因此,您應該使用一些包,例如(您可以在此處Passport參考)
或者更簡單,只需配置你的保護驅動程序Auth::guard('api')->attempt($credentials)
希望這能解決您的問題。
- 2 回答
- 0 關注
- 235 瀏覽
添加回答
舉報
0/150
提交
取消