[Tìm tòi][Laravel] Chạy laravel passport với Apache

Spread the love

Laravel passport là một tools dùng để build OAuth server của framework laravel. Nó giúp chúng ta xây dựng OAuth một cách gọn gàng và nhanh chóng, nhưng mấy ngày hôm nay mình đau đầu vì sao mà khi deploy lên nginx cũng như là caddy thì nó chạy rất mượt mà, nhưng với apache thì lại bị lỗi sấp mặt luôn

Để cài đặt passport các bạn có thể tham khảo : link

I. Hiện tượng , apache thì lỗi , caddy thì ổn ?

Ở đây mình chạy 2 web server, cùng trỏ vào 1 source, đây là caddy :

Ở dưới là apache: (lưu ý là mình chỉ đổi có cái host name thôi )

vậy thì câu hỏi đặt ra là ? cái gì đã làm cho, error này xuất hiện vậy ?

Caddy, Nginx khác nhau gì với Apache ?

II. Google và đâm vào bế tắc

Tất nhiên mình cũng có Google, và hầu hết đều có trả lời liên quan đến

  1. Lỗi do không set thời gian expire của token (bug Y2038, cái này đã được fix bởi pull request này và tất nhiên mình dùng passport sau khi đã áp dụng PR đó nên việc lỗi do bug Y2038 là không khả dĩ
  2. Lỗi do sai Authorization : bearer<token goes here> (để ý là không có khoảng trắng) … nhưng cũng ko phải, vì chỉ khác 2 server , thôi còn cách cuối cùng là debug thử
III. Debug thử tại sao lại như thế

Mình đặt debug trong file routes/api.php như bên dưới

Ok vào được rồi , quái dị là trong request header ko có Authorization. Vậy là có phải do Apache đã loại bỏ request header authorization ?

IV. Google lại lần nữa với hướng đi mới

Google thử keyword allow authorization header apache thì nhận được khá nhiều câu trả lời (may quá) có vẻ cũng có nhiều người đã từng bị giống mình (chắc do thiếu kiến thức cơ bản 😐 )

Và bên dưới là 1 ví dụ

http://stackoverflow.com/questions/26475885/authorization-header-missing-in-php-post-request

Post get gì cũng dính hết , nên thử sửa .htaccess như các bạn ấy bảo thử

thử debug lại xem nào ?

Ôi được rồi, thì ra là do mình thiếu set file .htaccess, ra là vậy 😀

Check lại post man thử

Ôi nó cũng chạy được rồi 🙂

V. Kết luận

Nhiều khi dùng tools nhưng không hiểu được hết chức năng của nó cũng thật là mệt mỏi, lúc này ta lại quay về những thứ cơ bản debug, có khi lại phải nhảy vào trong source code của FW để học hỏi người ta code như thế nào. Khi đã không thể hiểu được nguyên nhân thì ta phải so sánh, xem sai khác ở đâu rồi kiểm tra hết các sai biệt đó để tìm ra được nguyên nhân gốc rễ. Lúc điều tra phần này, mình đi sai hướng là mình đã bay vào đọc code của Framework, tuy nhiên mình vẫn cảm thấy rất có ích. Mình nghĩ đôi khi nhảy vào đọc code của Framework cũng là một cách học tốt, như ngày xưa viết văn, chúng ta đọc sách văn mẫu, đọc các tác phẩm hay chẳng hạn, từ đó có thể học cách khai triển dàn ý, cũng như lối hành văn của tác giả mà áp dụng cho mình. Học code hay cũng như đọc bài văn đẹp, đều rất có lợi ích.

 

■ Credits:

Hình ảnh được trích xuất từ trang : https://pub.scotch.io

Leave a Reply

Your email address will not be published. Required fields are marked *