Skip to content

Twitter Stateless doesn't work inside dingo api closure #71

@rdpascua

Description

@rdpascua

Issue / Motivation:

The default laravel/socialite works properly (facebook, google), but the twitter with stateless this package doesn't work

Expected behavior:

This should work like laravel/socialite inside dingo/api closure callbacks

Actual behavior:

When accessing inside the api closure

<?php

$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function($api) {
   $api->post('/auth/twitter', 'AuthController@authTwitter'); //works
   $api->post('/auth/facebook', 'AuthController@authFacebook'); //works
   $api->post('/auth/google', 'AuthController@authGoogle'); //works
});

It throws

Session store not set on request.

Steps to reproduce the behavior:

See above code.

Proposed solution:

If the laravel/socialite works inside dingo/api this should work flawlessly without an issue.

Full Error

{
  "message": "Session store not set on request.",
  "status_code": 500,
  "debug": {
    "line": 905,
    "file": "/home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Http/Request.php",
    "class": "RuntimeException",
    "trace": [
      "#0 /home/user/Projects/twitter-oauth/vendor/socialiteproviders/manager/src/OAuth1/AbstractProvider.php(74): Illuminate\\Http\\Request->session()",
      "#1 /home/user/Projects/twitter-oauth/app/Http/Controllers/AuthController.php(127): SocialiteProviders\\Manager\\OAuth1\\AbstractProvider->redirect()",
      "#2 [internal function]: TwitterOauth\\Http\\Controllers\\AuthController->twitter(Object(Dingo\\Api\\Http\\Request))",
      "#3 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(55): call_user_func_array(Array, Array)",
      "#4 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\\Routing\\Controller->callAction('twitter', Array)",
      "#5 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Route.php(189): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(TwitterOauth\\Http\\Controllers\\AuthController), 'twitter')",
      "#6 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Route.php(144): Illuminate\\Routing\\Route->runController()",
      "#7 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Router.php(653): Illuminate\\Routing\\Route->run(Object(Dingo\\Api\\Http\\Request))",
      "#8 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#9 /home/user/Projects/twitter-oauth/vendor/dingo/api/src/Http/Middleware/PrepareController.php(45): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#10 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Dingo\\Api\\Http\\Middleware\\PrepareController->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
      "#11 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#12 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#13 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Router.php(655): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
      "#14 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Router.php(629): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Dingo\\Api\\Http\\Request))",
      "#15 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Router.php(607): Illuminate\\Routing\\Router->dispatchToRoute(Object(Dingo\\Api\\Http\\Request))",
      "#16 /home/user/Projects/twitter-oauth/vendor/dingo/api/src/Routing/Adapter/Laravel.php(81): Illuminate\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))",
      "#17 /home/user/Projects/twitter-oauth/vendor/dingo/api/src/Routing/Router.php(513): Dingo\\Api\\Routing\\Adapter\\Laravel->dispatch(Object(Dingo\\Api\\Http\\Request), 'v1')",
      "#18 /home/user/Projects/twitter-oauth/vendor/dingo/api/src/Http/Middleware/Request.php(126): Dingo\\Api\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))",
      "#19 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Dingo\\Api\\Http\\Middleware\\Request->Dingo\\Api\\Http\\Middleware\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#20 /home/user/Projects/twitter-oauth/vendor/itsgoingd/clockwork/Clockwork/Support/Laravel/ClockworkMiddleware.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#21 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Clockwork\\Support\\Laravel\\ClockworkMiddleware->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
      "#22 /home/user/Projects/twitter-oauth/vendor/barryvdh/laravel-cors/src/HandleCors.php(42): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#23 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Barryvdh\\Cors\\HandleCors->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
      "#24 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#25 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
      "#26 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
      "#27 /home/user/Projects/twitter-oauth/vendor/dingo/api/src/Http/Middleware/Request.php(127): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
      "#28 /home/user/Projects/twitter-oauth/vendor/dingo/api/src/Http/Middleware/Request.php(103): Dingo\\Api\\Http\\Middleware\\Request->sendRequestThroughRouter(Object(Dingo\\Api\\Http\\Request))",
      "#29 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
      "#30 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
      "#31 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))",
      "#32 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(150): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
      "#33 /home/user/Projects/twitter-oauth/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(117): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))",
      "#34 /home/user/Projects/twitter-oauth/public/index.php(53): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))",
      "#35 /home/user/Projects/twitter-oauth/server.php(21): require_once('/home/user/...')",
      "#36 {main}"
    ]
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions