mercredi 31 juillet 2019

How can I change the default message of invalid credentials on OAuthServerException in Laravel Passport?

I am developing an API using Laravel Passport for authentication and my problem is that I cannot change the default message when the login fail due to invalid credentials.

LoginController.php

public function login(Request $request) {
    $this->validate($request, [
        'username' => 'required',
        'password' => 'required'
    ]);

    return $this->issueToken($request, 'password');
}

IssueTokenTrait.php

public function issueToken(Request $request, $grantType, $scope = "") {
    $params = [
        'grant_type' => $grantType,
        'client_id' => $this->client->id,
        'client_secret' => $this->client->secret,
        'scope' => $scope
    ];

    if($grantType !== 'social'){
        $params['username'] = $request->username ?: $request->email;
    }

    $request->request->add($params);
    $proxy = Request::create('oauth/token', 'POST');

    return Route::dispatch($proxy);
}

When I put invalid credentials, it returns:

{
    "error": "invalid_credentials",
    "error_description": "The user credentials were incorrect.",
    "message": "The user credentials were incorrect."
}

I want to change this message because I want the message to depend on the language.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire