//$request->user()改成$request->user("admin")
/**
* Get the authorization request from the session.
*
* @param \Illuminate\Http\Request $request
* @return \League\OAuth2\Server\RequestTypes\AuthorizationRequest
*
* @throws \Exception
*/
protected function getAuthRequestFromSession(Request $request)
{
return tap($request->session()->get('authRequest'), function ($authRequest) use ($request) {
if (! $authRequest) {
throw new Exception('Authorization request was not present in the session.');
}
$authRequest->setUser(new User($request->user("admin")->getAuthIdentifier()));
$authRequest->setAuthorizationApproved(true);
});
}
//$request->user()改成$request->user("admin")
/**
* Authorize a client to access the user's account.
*
* @param \Psr\Http\Message\ServerRequestInterface $psrRequest
* @param \Illuminate\Http\Request $request
* @param \Laravel\Passport\ClientRepository $clients
* @param \Laravel\Passport\TokenRepository $tokens
* @return \Illuminate\Http\Response
*/
public function authorize(ServerRequestInterface $psrRequest,
Request $request,
ClientRepository $clients,
TokenRepository $tokens)
{
$authRequest = $this->withErrorHandling(function () use ($psrRequest) {
return $this->server->validateAuthorizationRequest($psrRequest);
});
$scopes = $this->parseScopes($authRequest);
//dd($request->user("admin"));
$token = $tokens->findValidToken(
$user = $request->user("admin"),
$client = $clients->find($authRequest->getClient()->getIdentifier())
);
if (($token && $token->scopes === collect($scopes)->pluck('id')->all()) ||
$client->skipsAuthorization()) {
return $this->approveRequest($authRequest, $user);
}
$request->session()->put('authToken', $authToken = Str::random());
$request->session()->put('authRequest', $authRequest);
return $this->response->view('passport::authorize', [
'client' => $client,
'user' => $user,
'scopes' => $scopes,
'request' => $request,
'authToken' => $authToken,
]);
}