Hello,
I m trying to generate the documentation using this package with a laravel 5.7 ( simple way )
I ve set up an authentication oauth2 using passport,
Route::group(
[
'namespace' => 'ApiV3',
'prefix' => 'v3',
'middleware' => ['auth:api', 'localization']
],
but when i try to generate the documentation, i got an
{
"status": "error",
"code": 0,
"message": "Unauthenticated.",
"exception": "Illuminate\Auth\AuthenticationException: Unauthenticated. in /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:67nStack trace:n#0 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(41): Illuminate\Auth\Middleware\Authenticate->authenticate(Object(Illuminate\Http\Request), Array)n#1 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\Auth\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure), 'api')n#2 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))n#3 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))n#4 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\Routing\Middleware\ThrottleRequests->handle(Object(Illuminate\Http\Request), Object(Closure), 60, '1')n#5 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))n#6 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))n#7 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(684): Illuminate\Pipeline\Pipeline->then(Object(Closure))n#8 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(659): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))n#9 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))n#10 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(614): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))n#11 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))n#12 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))n#13 /Users/christophemassin/Workspace/api/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))n#14 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))n#15 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))n#16 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(31): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))n#17 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))n#18 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))n#19 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(31): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))n#20 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))n#21 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))n#22 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))n#23 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))n#24 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))n#25 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))n#26 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))n#27 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))n#28 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))n#29 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))n#30 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))n#31 /Users/christophemassin/Workspace/api/vendor/mpociot/laravel-apidoc-generator/src/Tools/ResponseStrategies/ResponseCallStrategy.php(272): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))n#32 /Users/christophemassin/Workspace/api/vendor/mpociot/laravel-apidoc-generator/src/Tools/ResponseStrategies/ResponseCallStrategy.php(256): Mpociot\ApiDoc\Tools\ResponseStrategies\ResponseCallStrategy->callLaravelRoute(Object(Illuminate\Http\Request))n#33 /Users/christophemassin/Workspace/api/vendor/mpociot/laravel-apidoc-generator/src/Tools/ResponseStrategies/ResponseCallStrategy.php(33): Mpociot\ApiDoc\Tools\ResponseStrategies\ResponseCallStrategy->makeApiCall(Object(Illuminate\Http\Request))n#34 /Users/christophemassin/Workspace/api/vendor/mpociot/laravel-apidoc-generator/src/Tools/ResponseResolver.php(49): Mpociot\ApiDoc\Tools\ResponseStrategies\ResponseCallStrategy->__invoke(Object(Illuminate\Routing\Route), Array, Array)n#35 /Users/christophemassin/Workspace/api/vendor/mpociot/laravel-apidoc-generator/src/Tools/ResponseResolver.php(68): Mpociot\ApiDoc\Tools\ResponseResolver->resolve(Array, Array)n#36 /Users/christophemassin/Workspace/api/vendor/mpociot/laravel-apidoc-generator/src/Tools/Generator.php(54): Mpociot\ApiDoc\Tools\ResponseResolver::getResponse(Object(Illuminate\Routing\Route), Array, Array)n#37 /Users/christophemassin/Workspace/api/vendor/mpociot/laravel-apidoc-generator/src/Commands/GenerateDocumentation.php(194): Mpociot\ApiDoc\Tools\Generator->processRoute(Object(Illuminate\Routing\Route), Array)n#38 /Users/christophemassin/Workspace/api/vendor/mpociot/laravel-apidoc-generator/src/Commands/GenerateDocumentation.php(56): Mpociot\ApiDoc\Commands\GenerateDocumentation->processRoutes(Object(Mpociot\ApiDoc\Tools\Generator), Array)n#39 [internal function]: Mpociot\ApiDoc\Commands\GenerateDocumentation->handle()n#40 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)n#41 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()n#42 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))n#43 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(572): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)n#44 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Console/Command.php(183): Illuminate\Container\Container->call(Array)n#45 /Users/christophemassin/Workspace/api/vendor/symfony/console/Command/Command.php(255): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))n#46 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Console/Command.php(170): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))n#47 /Users/christophemassin/Workspace/api/vendor/symfony/console/Application.php(901): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))n#48 /Users/christophemassin/Workspace/api/vendor/symfony/console/Application.php(262): Symfony\Component\Console\Application->doRunCommand(Object(Mpociot\ApiDoc\Commands\GenerateDocumentation), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))n#49 /Users/christophemassin/Workspace/api/vendor/symfony/console/Application.php(145): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))n#50 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Console/Application.php(89): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))n#51 /Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Illuminate\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))n#52 /Users/christophemassin/Workspace/api/artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))n#53 {main}",
"line": 67,
"file": "/Users/christophemassin/Workspace/api/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php"
}
I try in the config file to set up my token using the one i use in postman
'headers' => [
'Authorization' => 'Bearer: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjIwZDZlODBmMjRhYWQ0OTUwODcyN2M5NTQ2OTI1ZjhiZGIxYjRjNmExN2FkZjBlZDRiNmZkNzlkZmM5YWQ2MjAyMThiNmQxYWRkN2Q5NjA3In0.eyJhdWQiOiIyIiwianRpIjoiMjBkNmU4MGYyNGFhZDQ5NTA4NzI3Yzk1NDY5MjVmOGJkYjFiNGM2YTE3YWRmMGVkNGI2ZmQ3OWRmYzlhZDYyMDIxOGI2ZDFhZGQ3ZDk2MDciLCJpYXQiOjE1NDUyMTI1NDcsIm5iZiI6MTU0NTIxMjU0NywiZXhwIjoxNTc2NzQ4NTQ3LCJzdWIiOiIyODY0NiIsInNjb3BlcyI6WyIqIl19.hi2m3RrFhjAdyPg1ax9YDPAbSNyjEjR-m6090siiUEtPXbYQqaQbD4ErdaWDe9TgglasZtVV4zxETmEh2_tGWoCGeBz3F4yJlnIQRJINC8QzOq49Q0C4zQsS8DGXquNum8BDBTwmZyli7Hzc9n1K2I5zjX8d_PQuO8Leef-uzJyMSuePvMr5nn19l9VU0P7eeaVh1MH-sy46Mi9CEjeorTtxVHE9wYGXxT4ttxw7tg94V1owlsay-S7dkRDELmFRldRKqL8d1E7IeXZCSZHTcJrlzHL-vbvek0zJyOMZ2GLTkc-UY0wMne704KyHhWF9b93RVJ7gvWviD6WpIzETfntgHYWYKMfCydxBt2ySJVcX8JNqNs7b6lVq8fUVE_IChSf6iGOq2wTzWu7Dx8qjB7e_bYbQPEGn5dR52ROzaIJfc_GOOD8ZikZBtzaToucYpeIsLfh5MKHgFwKambjw5chv43M52T6gcZ47Wtw1qaOfGqUYjrj8PR4KXGLnxcHAXTcocnyYh84YnxpREGzbTLwCXbfGza2FaA8W69Rm1W0rdk8r5jj1fHD-7t2JvQhr8gb02dW2PwfftYWZu2VEbMhmcmtA6hTxv1dPNOBbWgBVRkMiiYd_ApVsdM2LMxGGMkOvvDLAZGJuP_fzYDEArxXKMUIkLhppFhO94UJvS2Q',
But it does not seem to work :/
Can't get why it's not working ? if i remove my middleware, everything is working fine
Try to set auth header within the response_calls section of apidoc.php config file:
```php
'response_calls' => [...,
'headers' => [
'Authorization' => 'Bearer ' . env('APIDOC_TOKEN'),
...],
]
I don't think this is an issue with the package. Probably good to take another look at that middleware.
@Dalamar, setting it in the response_calls did work for me, but it does work if I set it as a global header which is not good since it will put this header in all the examples. Perhaps I am missing something - the default config did not have a routes.apply.response_calls.headers field?
Most helpful comment
Try to set auth header within the response_calls section of apidoc.php config file:
```php
'response_calls' => [...,
'headers' => [
'Authorization' => 'Bearer ' . env('APIDOC_TOKEN'),
...],
]