Tôi đang sử dụng Laravel 5.4 với API Dingo và tôi đang cố gắng để có được OAuth 2.0 (Hộ chiếu) của Laravel để làm việc với các yêu cầu Dingo nội bộ. Trước đây, tôi đã sử dụng JWT, nhưng bây giờ tôi muốn sử dụng OAuth. Đây là mã điều phối trước đó của tôi đi qua mã thông báo bắt buộc để thực hiện xác thực trên yêu cầu nội bộ.Laravel 5.4 OAuth với yêu cầu nội bộ Dingo
public function getDispatcher()
{
$token = JWTAuth::fromUser(Auth::user());
return $this->api->header('Authorization','Bearer'.$token)->be(Auth::user());
}
Bây giờ tôi đang sử dụng OAuth để xác thực, mã JavaScript của tôi quản lý để có được chứng thực đơn giản bằng cách passing a cookie using this method trong JavaScript, trong đó hoạt động hoàn hảo.
Bây giờ tôi cần phải sửa đổi phương thức getDispatcher()
để nhận mã thông báo OAuth về "yêu cầu nội bộ" trong Dingo. Có ai có bất kỳ lời khuyên về cách làm điều này? Về lý thuyết, tôi có thể tạo mã thông báo truy cập cá nhân cho mọi người dùng nhưng điều này có vẻ như quá mức cần thiết cho một yêu cầu nội bộ. Bất kỳ lời khuyên hay cách tiếp cận nào được đánh giá cao. Làm thế nào tôi có thể nhận được mã thông báo OAuth mà không phải trải qua luồng OAuth hoàn chỉnh, hoặc cách khác, làm cách nào tôi có thể tắt xác thực chỉ cho các yêu cầu nội bộ.
Cập nhật dựa trên câu trả lời dưới đây:
'api.auth' ngày của riêng mình trên tuyến (chỉ Dingo) và các công trình theo yêu cầu nội bộ. auth: api (Passport) + api.auth và tôi nhận được phương thức không được phép đối với các yêu cầu nội bộ, điều này trở lại như JSON. {"message": "405 Method Not Allowed"} ngay bây giờ khi cố gọi một yêu cầu POST nội bộ. (Có vẻ như chuyển hướng 301 đến trang đăng nhập xảy ra khi cố gắng đăng lên các tuyến đường này, và do đó khiến đường dẫn API biến thành GET bằng cách nào đó, do đó ném lỗi 405).
Yêu cầu API qua công việc Postman ở khả năng nghịch đảo. Không thể tìm thấy người dùng khi cả hai hoạt động (['middleware' => ['auth: api', 'api.auth']) khi (auth: api just Passport) hoạt động nó hoạt động tốt.
Xem điều này có giúp ích cho https://esbenp.github.io/2017/03/19/modern-rest-api-laravel-part-4/ không? –