開発環境
Laravel 5.8.24
困っている事
バックエンドにLaravelを使用しREST APIを実装する記事を参考に既存のテーブルからデータを取得するようカスタマイズしました。
ですが、元のパスワードのハッシュ化処理が
php
1$password = $_POST["password"]; 2$salt = $row['salt']; 3 4hash_hmac('SHA256', $password.':'.'NFXwzxb5o9hfELny04AaoY0SgLRHrJlc', $salt);
となっており、自分では上記のコードをうまく以下の構文に組み込むことが出来ず、パスワードの認証をすることが出来ません。
上記のコードはどのように組み込めばいいでしょうか。
該当のコード
php
1<?php 2 3namespace App\Http\Controllers\Auth; 4 5use App\User; 6use Carbon\Carbon; 7use Illuminate\Http\Request; 8use App\Http\Controllers\Controller; 9use Illuminate\Support\Facades\Auth; 10 11class AuthController extends Controller 12{ 13 public function login(Request $request) { 14 $request->validate([ 15 'email' => 'required|string|email', 16 'password' => 'required|string', 17 //'remember_me' => 'boolean' 18 ]); 19 $credentials = request(['email', 'password']); 20 if(!Auth::attempt($credentials)) 21 return response()->json([ 22 'message' => 'Unauthorized' 23 ], 401); 24 $user = $request->user(); 25 $tokenResult = $user->createToken('Personal Access Token'); 26 $token = $tokenResult->token; 27 if ($request->remember_me) 28 $token->expires_at = Carbon::now()->addWeeks(1); 29 $token->save(); 30 return response()->json([ 31 'access_token' => $tokenResult->accessToken, 32 'token_type' => 'Bearer', 33 'expires_at' => Carbon::parse( 34 $tokenResult->token->expires_at 35 )->toDateTimeString() 36 ]); 37 } 38 public function register(Request $request) 39 { 40 $request->validate([ 41 'fName' => 'required|string', 42 'lName' => 'required|string', 43 'email' => 'required|string|email|unique:users', 44 'password' => 'required|string' 45 ]); 46 $user = new User; 47 $user->first_name = $request->fName; 48 $user->last_name = $request->lName; 49 $user->email = $request->email; 50 $user->password = bcrypt($request->password); 51 $user->save(); 52 return response()->json([ 53 'message' => 'Successfully created user!' 54 ], 201); 55 } 56 public function logout(Request $request) 57 { 58 $request->user()->token()->revoke(); 59 return response()->json([ 60 'message' => 'Successfully logged out' 61 ]); 62 } 63 64 /** 65 * Get the authenticated User 66 * 67 * @return [json] user object 68 */ 69 public function user(Request $request) 70 { 71 return response()->json($request->user()); 72 } 73} 74
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。