passport 根据 header 头中的 token 获取 OAuth_access_tokens 表中的数据
$tg = new TokenGuard(
app()->make(ResourceServer::class),
Auth::createUserProvider(‘表命’), //这里随便写就好了
app()->make(TokenRepository::class),
app()->make(ClientRepository::class),
app()->make(‘encrypter’)
);
// 利用反射机制 获取getPsrRequestViaBearerToken
$workerClass_by_classinstance = new \ReflectionClass(TokenGuard::class);
$method = $workerClass_by_classinstance->getMethod(‘getPsrRequestViaBearerToken’);
$method->setAccessible(true);
$oauth_access_token_id = $method->invoke($tg,$request)->getAttributes()[‘oauth_access_token_id’];
//这样就可以处理一些特殊验证了
$oauth_access_tokens = DB::table(‘oauth_access_tokens’)->where(‘id’,$oauth_access_token_id)->first();
本作品采用《CC 协议》,转载必须注明作者和本文链接