Laravel Passport: Ignore login errors

At work we built a web application consisting of one backend that provides an API for user management and login via OAuth2, and a couple of frontend applications that all rely on that API.

For OAuth2, we used the Laravel 5.6 Passport library that brings all the OAuth2 server stuff we needed.

One issue we had were exceptions that occured in the API and were logged in our own Sentry instance: One entry for every user that mis-typed his password:

League\OAuth2\Server\Exception\OAuthServerException

The user credentials were incorrect.

To solve this issue, we added the following code to our API application's exception handler:

app/Exceptions/Handler.php
    /**
     * Determine if the exception is in the "do not report" list.
     *
     * @param Exception $e Exception to check
     *
     * @return bool
     */
    protected function shouldntReport(Exception $e)
    {
        if ($e instanceof \League\OAuth2\Server\Exception\OAuthServerException) {
            //6: The user credentials were incorrect
            return $e->getCode() == 6;
        }
 
        return parent::shouldntReport($e);
    }

Written by Christian Weiske.

Comments? Please send an e-mail.