Skip to content

Instantly share code, notes, and snippets.

@hutch78
Last active November 13, 2020 03:34
Show Gist options
  • Save hutch78/08567cb56806bdb406a58a0e9b3f5ccb to your computer and use it in GitHub Desktop.
Save hutch78/08567cb56806bdb406a58a0e9b3f5ccb to your computer and use it in GitHub Desktop.
Thanks for checking this out... I did not see anywhere in the docs that I was supposed to include the
Authorization header, but it was not working without it so i figured I would try it.
See below for how I am attaching that (found on stack overflow)
STACK TRACE
[2020-11-13 02:42:32] local.ERROR: The resource owner or authorization server denied the request. {"exception":"[object] (League\\OAuth2\\Server\\Exception\\OAuthServerException(code: 9): The resource owner or authorization server denied the request. at /app/vendor/league/oauth2-server/src/Exception/OAuthServerException.php:223)
[stacktrace]
#0 /app/vendor/league/oauth2-server/src/AuthorizationValidators/BearerTokenValidator.php(73): League\\OAuth2\\Server\\Exception\\OAuthServerException::accessDenied('Access token co...')
#1 /app/vendor/league/oauth2-server/src/ResourceServer.php(84): League\\OAuth2\\Server\\AuthorizationValidators\\BearerTokenValidator->validateAuthorization(Object(Zend\\Diactoros\\ServerRequest))
#2 /app/vendor/laravel/passport/src/Guards/TokenGuard.php(175): League\\OAuth2\\Server\\ResourceServer->validateAuthenticatedRequest(Object(Zend\\Diactoros\\ServerRequest))
#3 /app/vendor/laravel/passport/src/Guards/TokenGuard.php(127): Laravel\\Passport\\Guards\\TokenGuard->getPsrRequestViaBearerToken(Object(Illuminate\\Http\\Request))
#4 /app/vendor/laravel/passport/src/Guards/TokenGuard.php(90): Laravel\\Passport\\Guards\\TokenGuard->authenticateViaBearerToken(Object(Illuminate\\Http\\Request))
#5 /app/vendor/laravel/passport/src/PassportServiceProvider.php(275): Laravel\\Passport\\Guards\\TokenGuard->user(Object(Illuminate\\Http\\Request))
#6 [internal function]: Laravel\\Passport\\PassportServiceProvider->Laravel\\Passport\\{closure}(Object(Illuminate\\Http\\Request), NULL)
#7 /app/vendor/laravel/framework/src/Illuminate/Auth/RequestGuard.php(58): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request), NULL)
#8 /app/vendor/laravel/framework/src/Illuminate/Auth/GuardHelpers.php(60): Illuminate\\Auth\\RequestGuard->user()
#9 /app/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(62): Illuminate\\Auth\\RequestGuard->check()
#10 /app/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(41): Illuminate\\Auth\\Middleware\\Authenticate->authenticate(Object(Illuminate\\Http\\Request), Array)
#11 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'api')
#12 /app/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(59): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 60, '1')
#14 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#16 /app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#17 /app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#18 /app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#19 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#20 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#21 /app/vendor/laravel/nova/src/Http/Middleware/ServeNova.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Laravel\\Nova\\Http\\Middleware\\ServeNova->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /app/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#36 /app/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#37 {main}
"}
// routes/api.php
Route::group(['middleware' => ['auth:api']], function () {
Route::apiResource('bookings', 'Api\BookingsController'); // <-- route I was trying to access
...
});
// config/auth.php
'guards' => [
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
// User.php
class User extends Authenticatable
{
use Notifiable, HasApiTokens;
...
}
// Kernel.php
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
// AuthServiceProvider
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(now()->addDays(1));
Passport::refreshTokensExpireIn(now()->addDays(1));
Passport::tokensCan([
...omitted...
]);
}
}
// Getting laravel_token cookie .... DONT JUDGE ME i am trying to make this work
let token = "{{ request()->cookie('laravel_token') }}";
window.axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
// Request Headers
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMsImNzcmYiOiI3c2lDS3JVOWZKdENZMUVLZExLMXlGVlBWTW96V3Zyb0FrYTZpOTFoIiwiZXhwaXJ5IjoxNjA1MjQyNTQyfQ.WpDrWIRwDAD7s-rlQWM9OahVDOW5eOO8tsZ3Yc2IwN4
Cache-Control: no-cache
Connection: keep-alive
Cookie: laravel_token=eyJpdiI6IjBxODBneFwveXJQdWlnU1ZLbHEybm1RPT0iLCJ2YWx1ZSI6ImFLVDk2T25NXC9udnhCeUxjNDdaSXdrNVNkdFAxV0hwc3VvQkxqN1FydStRYTlGXC9ibk5xdjUrWVQ5dERDM0dWcEhIYWtqcWd2SzFcL0dLa0FxTkFPUlRmYVUyajBueEhsWnRkVHdSb3lYT2pSYW9OOThyNCtTamF5bHA5OHFEQ05cL2ZEWjZoK2xUdGVxcW5uSkJqQ2N1VUJXQUVDM3ZHWXprS1AweGtxTmJ2OEQ1QksxVXUzMUwzNXFGaWhCQWZhM1pNdUVrXC9QN0szXC9xQm9tN2k3SHB1TjV4Mmh4elNEYXJoMXhEeTZTK1JWcDdlbjdoaEtxOVhsV0YzYm5lK1lXZGtpaTB2SVQyQ1RXUGlCQXdRWkdtbUtidXB4MENlM3kwbDNOUHVBbEs5eDhnWXl3c1lHN1o2RDV3WjYrTVgrTHdoIiwibWFjIjoiOTVjNGY2ZmYxNGM1ZDMwZmMwYmUzNWExMTZmYmY3MTc5OWY2NDMxMzhmNzVhOWIzZjI0MzAwMDZhMmRiZDgyNCJ9; XSRF-TOKEN=eyJpdiI6IlRCYlN3ZFc0OERQY2oyb0RZOVhXY0E9PSIsInZhbHVlIjoiTFNDZWtweVdJU2dTRUJlM2ZrdWZcL3ZZQjNPR0xCUFZobVAxSHFENHFBcXhucFlZNWdjdExZTXhpd0FjMHBEb2NcL2NMV3lpbnlVZkZ6YTR1QWp4OVdzRE0yRkRCbm55WEZIWG1tR2xQVThXcHRIcEtodEJNNG40WFgxeFRsVitHXC8iLCJtYWMiOiIxNzgwOTYwNjc2NDU0ZDdhYTVlOGMzOWFhNjgwMDI0ZDUxZWM2OTEwNzVmNGUwOWY3NmE3OTdhYWRiNTBhZDdmIn0%3D;
Host: localhost:8080
Pragma: no-cache
Referer: http://localhost:8080/dashboard/bookings
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36
X-CSRF-TOKEN: 7siCKrU9fJtCY1EKdLK1yFVPVMozWvroAka6i91h
X-Requested-With: XMLHttpRequest
X-XSRF-TOKEN: eyJpdiI6IlRCYlN3ZFc0OERQY2oyb0RZOVhXY0E9PSIsInZhbHVlIjoiTFNDZWtweVdJU2dTRUJlM2ZrdWZcL3ZZQjNPR0xCUFZobVAxSHFENHFBcXhucFlZNWdjdExZTXhpd0FjMHBEb2NcL2NMV3lpbnlVZkZ6YTR1QWp4OVdzRE0yRkRCbm55WEZIWG1tR2xQVThXcHRIcEtodEJNNG40WFgxeFRsVitHXC8iLCJtYWMiOiIxNzgwOTYwNjc2NDU0ZDdhYTVlOGMzOWFhNjgwMDI0ZDUxZWM2OTEwNzVmNGUwOWY3NmE3OTdhYWRiNTBhZDdmIn0=
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment