У меня есть пользовательская проверка логина для паспорта (я сделал это после this ), поэтому я делаю свой пользовательский /oauth/token
с этим маршрутом:
/routes/auth.php
Route::post('/oauth/token', [
'uses' => 'Auth\CustomAccessTokenController@issueUserToken'
]);
/app/controllers/auth/CustomAccessTokenController.php
namespace App\Http\Controllers\Auth;
use App\Models\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Psr\Http\Message\ServerRequestInterface;
class CustomAccessTokenController extends Controller
{
public function issueUserToken(ServerRequestInterface $request)
{
$httpRequest = request();
if ($httpRequest->grant_type == 'password') {
$user = User::where('email', $httpRequest->username)->first();
return $this->issueToken($request);
}
}
}
Если я сделаю ручной POST
, запрос к domain.com/oauth/token
правильно обрабатывается пользовательским контроллером, но когда я использую Passport::actingAs($user);
в тесте phpunit, нет.Passport::actingAs();
использует маршруты или имеет другой способ получить токен аутентификации?