ฉันกำลังทำงานกับแอปพลิเคชัน Laravel 6 ที่ผู้ใช้สามารถลงชื่อเข้าใช้โดยใช้ API (ส่วนหน้าอยู่ใน VueJS) และฉันไม่มีปัญหากับมัน ตอนนี้ฉันมีแอป Laravel 6 อีกตัวบนเซิร์ฟเวอร์อื่น สถานการณ์คือ: ผู้ใช้กำลังจะลงชื่อเข้าใช้ผ่านแอปแรกและคลิกปุ่มเพื่อนำทางไปยังแอปที่สอง (รวมถึง API ที่มีส่วนหน้า VueJS) ฉันต้องการเข้าสู่ระบบผู้ใช้โดยอัตโนมัติโดยไม่ต้องลงชื่อเข้าใช้อีกครั้ง ฉันพยายามทดสอบโค้ดตัวอย่าง
ในเส้นทาง/api.php
Route::group(['namespace' => 'Api', 'middleware' => 'guest'], function () {
Route::post('manual-login', 'ManualLoginController'); // use __invoke method
ผู้ควบคุม
use Illuminate\Support\Facades\Auth;
$userId = $request->user_id;
Auth::loginUsingId($userId);
$userId เป็นฟิลด์ uuid ที่มีค่า 37aca7b3-7c6b-3745-9b54-5ced6cc3216e
และฉันก็ลองใช้รหัสผู้ใช้จำนวนเต็มด้วย แต่ฉันได้รับ
BadMethodCallException: Method Illuminate\Auth\RequestGuard::loginUsingId does not exist
ฉันจะใช้ Auth::loginUsingId
หรือ Auth::login
เพื่อลงชื่อเข้าใช้ผู้ใช้ในแอปโดยอัตโนมัติโดยไม่ต้องป้อนรหัสผ่านได้อย่างไร หากมีวิธีการที่ดีกว่านี้ ฉันขอขอบคุณคำอธิบาย ขอบคุณล่วงหน้า
use Auth;
แล้ว แต่ได้รับข้อผิดพลาดเดียวกัน - person PHP User   schedule 04.03.2021__invoke
และสามารถทดสอบข้อมูลและตรวจสอบว่ามีผู้ใช้อยู่หรือไม่และทำงานได้ดีโดยไม่จำเป็นต้องเพิ่มวิธีการ - person PHP User   schedule 04.03.2021