【发布时间】:2019-10-24 05:51:49
【问题描述】:
我有自定义护照用户登录验证(我在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);
}
}
}
如果我向domain.com/oauth/token 发出手动POST 请求,自定义控制器会正确处理,但是当我在phpunit 测试中使用Passport::actingAs($user); 时不会。这个Passport::actingAs();是使用路由还是有其他方式获取认证token?
【问题讨论】:
标签: laravel-5 phpunit laravel-passport