Tôi đang sử dụng Laravel 5.3 cho máy chủ REST mà ứng dụng di động kết nối. Tôi đã tùy biến trình xử lý ngoại lệ cho hầu hết các lỗi Laravel và nó hoạt động theo cách tôi muốn.Làm cách nào để sửa đổi thông báo lỗi từ Passport OAuth trong Laravel 5.3?
Tuy nhiên, lỗi OAuth trở lại xấu xí. Ví dụ:
{
"error":"invalid_credentials",
"message":"The user credentials were incorrect."
}
Rõ ràng, tôi không phải là người duy nhất làm phiền bởi các mã lỗi với dấu gạch - Tôi chỉ có một số ít các thử nghiệm beta và họ đã báo cáo này như là một "lỗi".
Hộ chiếu dường như phá vỡ trình xử lý lỗi thông thường và thay vào đó, hãy chuyển qua League\OAuth2\Server\Exception\OAuthServerException
. Các thông báo lỗi xấu này được mã hóa cứng vào tệp đó.
public static function invalidCredentials()
{
return new static('The user credentials were incorrect.', 6, 'invalid_credentials', 401);
}
Tôi đã cố gắng nghiêm túc như một cách tiếp cận để mở rộng/ghi đè OAuthServerException, nhưng tôi dường như không thể làm cho nó hoạt động.