我将 Laravel 5.3 用于移动应用程序连接到的 REST 服务器。我已经为大多数 Laravel 错误定制了异常处理程序,并且按照我喜欢的方式工作。
然而,OAuth 错误又变得丑陋了。例子:
{
"error":"invalid_credentials",
"message":"The user credentials were incorrect."
}
显然,我不是唯一一个对带有下划线的错误代码感到困扰的人——我只有少数 beta 测试人员,他们已经将此报告为“错误”。
Passport 似乎绕过了常规的错误处理程序,League\OAuth2\Server\Exception\OAuthServerException
而是通过了。这些丑陋的错误消息被硬编码到该文件中。
public static function invalidCredentials()
{
return new static('The user credentials were incorrect.', 6, 'invalid_credentials', 401);
}
我已经认真尝试了十几种扩展/覆盖 OAuthServerException 的方法,但我似乎无法让它发挥作用。