Laravel 5 Laravel测试护照::actingAs($用户)使用路线?
我有自定义passport用户登录验证(我做了如下操作),因此我使用以下路径进行自定义Laravel 5 Laravel测试护照::actingAs($用户)使用路线?,laravel-5,phpunit,laravel-passport,Laravel 5,Phpunit,Laravel Passport,我有自定义passport用户登录验证(我做了如下操作),因此我使用以下路径进行自定义/oauth/token: /routes/auth.php Route::post('/oauth/token', [ 'uses' => 'Auth\CustomAccessTokenController@issueUserToken' ]); namespace App\Http\Controllers\Auth; use App\Models\User; use Illuminate\
/oauth/token
:
/routes/auth.php
Route::post('/oauth/token', [
'uses' => 'Auth\CustomAccessTokenController@issueUserToken'
]);
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);
}
}
}
/app/controllers/auth/CustomAccessTokenController.php
Route::post('/oauth/token', [
'uses' => 'Auth\CustomAccessTokenController@issueUserToken'
]);
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);
}
}
}
如果我向
domain.com/oauth/token
发出手动POST
请求,自定义控制器会正确处理,但当我使用Passport::actingAs($user)时。这个Passport::actingAs()代码>使用路由或以其他方式获取身份验证令牌?您应该能够使用
$this->actingAs($user, 'api');
我知道,我在测试中使用了原始Passport
配置的Passport::actingAs()。但我需要测试的是我的新自定义Passport
端点。我仍在搜索我的解决方案,但我认为我需要构建自己的帮助程序,并将令牌附加到每个测试请求中。@Alexd2这是一段时间以前的事,让我检查一下我的代码,然后告诉您我是如何工作的