Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refreshToken has stopped working due to changes in JWT #167

Open
SlyDave opened this issue Aug 11, 2023 · 2 comments
Open

refreshToken has stopped working due to changes in JWT #167

SlyDave opened this issue Aug 11, 2023 · 2 comments

Comments

@SlyDave
Copy link

SlyDave commented Aug 11, 2023

Looks like something has changed somewhere? RefreshToken is crashing out with an error because it's trying to call forUnsecuredSigner() which no longer appears to exist in the JWT package being used.

Found some notes about it in the JWT docs: https://lcobucci-jwt.readthedocs.io/en/stable/upgrading/#removal-of-none-algorithm

Appears to be due to the none-algorithm being removed,

{
	"errors": [
		{
			"message": "Internal server error",
			"locations": [
				{
					"line": 2,
					"column": 2
				}
			],
			"path": [
				"refreshToken"
			],
			"extensions": {
				"debugMessage": "Call to undefined method Lcobucci\\JWT\\Configuration::forUnsecuredSigner()",
				"file": "C:\\www\\workrest\\vendor\\joselfonseca\\lighthouse-graphql-passport-auth\\src\\GraphQL\\Mutations\\RefreshToken.php",
				"line": 52,
				"trace": [
					{
						"file": "C:\\www\\workrest\\vendor\\joselfonseca\\lighthouse-graphql-passport-auth\\src\\GraphQL\\Mutations\\RefreshToken.php",
						"line": 32,
						"call": "Joselfonseca\\LighthouseGraphQLPassport\\GraphQL\\Mutations\\RefreshToken::parseToken()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\Schema\\Values\\FieldValue.php",
						"line": 185,
						"call": "Joselfonseca\\LighthouseGraphQLPassport\\GraphQL\\Mutations\\RefreshToken::resolve()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\ReferenceExecutor.php",
						"line": 714,
						"call": "Nuwave\\Lighthouse\\Schema\\Values\\FieldValue::Nuwave\\Lighthouse\\Schema\\Values\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\ReferenceExecutor.php",
						"line": 632,
						"call": "GraphQL\\Executor\\ReferenceExecutor::resolveFieldValueOrError()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\ReferenceExecutor.php",
						"line": 541,
						"call": "GraphQL\\Executor\\ReferenceExecutor::resolveField()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\ReferenceExecutor.php",
						"line": 949,
						"call": "GraphQL\\Executor\\ReferenceExecutor::GraphQL\\Executor\\{closure}()"
					},
					{
						"call": "GraphQL\\Executor\\ReferenceExecutor::GraphQL\\Executor\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\ReferenceExecutor.php",
						"line": 951,
						"function": "array_reduce()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\ReferenceExecutor.php",
						"line": 559,
						"call": "GraphQL\\Executor\\ReferenceExecutor::promiseReduce()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\ReferenceExecutor.php",
						"line": 297,
						"call": "GraphQL\\Executor\\ReferenceExecutor::executeFieldsSerially()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\ReferenceExecutor.php",
						"line": 237,
						"call": "GraphQL\\Executor\\ReferenceExecutor::executeOperation()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\Executor\\Executor.php",
						"line": 159,
						"call": "GraphQL\\Executor\\ReferenceExecutor::doExecute()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\GraphQL.php",
						"line": 163,
						"call": "GraphQL\\Executor\\Executor::promiseToExecute()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\webonyx\\graphql-php\\src\\GraphQL.php",
						"line": 97,
						"call": "GraphQL\\GraphQL::promiseToExecute()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\GraphQL.php",
						"line": 126,
						"call": "GraphQL\\GraphQL::executeQuery()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\GraphQL.php",
						"line": 86,
						"call": "Nuwave\\Lighthouse\\GraphQL::executeParsedQuery()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\GraphQL.php",
						"line": 217,
						"call": "Nuwave\\Lighthouse\\GraphQL::executeQueryString()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\GraphQL.php",
						"line": 177,
						"call": "Nuwave\\Lighthouse\\GraphQL::executeOperation()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\Support\\Utils.php",
						"line": 107,
						"call": "Nuwave\\Lighthouse\\GraphQL::Nuwave\\Lighthouse\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\GraphQL.php",
						"line": 177,
						"call": "Nuwave\\Lighthouse\\Support\\Utils::mapEach()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\Http\\GraphQLController.php",
						"line": 32,
						"call": "Nuwave\\Lighthouse\\GraphQL::executeOperationOrOperations()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php",
						"line": 46,
						"call": "Nuwave\\Lighthouse\\Http\\GraphQLController::__invoke()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
						"line": 260,
						"call": "Illuminate\\Routing\\ControllerDispatcher::dispatch()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
						"line": 205,
						"call": "Illuminate\\Routing\\Route::runController()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
						"line": 799,
						"call": "Illuminate\\Routing\\Route::run()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 141,
						"call": "Illuminate\\Routing\\Router::Illuminate\\Routing\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\Http\\Middleware\\AttemptAuthentication.php",
						"line": 22,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Nuwave\\Lighthouse\\Http\\Middleware\\AttemptAuthentication::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\nuwave\\lighthouse\\src\\Http\\Middleware\\AcceptJson.php",
						"line": 24,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Nuwave\\Lighthouse\\Http\\Middleware\\AcceptJson::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 116,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
						"line": 800,
						"call": "Illuminate\\Pipeline\\Pipeline::then()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
						"line": 777,
						"call": "Illuminate\\Routing\\Router::runRouteWithinStack()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
						"line": 741,
						"call": "Illuminate\\Routing\\Router::runRoute()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
						"line": 730,
						"call": "Illuminate\\Routing\\Router::dispatchToRoute()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
						"line": 200,
						"call": "Illuminate\\Routing\\Router::dispatch()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 141,
						"call": "Illuminate\\Foundation\\Http\\Kernel::Illuminate\\Foundation\\Http\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\livewire\\livewire\\src\\DisableBrowserCache.php",
						"line": 19,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Livewire\\DisableBrowserCache::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\nova\\src\\Http\\Middleware\\ServeNova.php",
						"line": 23,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Laravel\\Nova\\Http\\Middleware\\ServeNova::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\barryvdh\\laravel-debugbar\\src\\Middleware\\InjectDebugbar.php",
						"line": 66,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
						"line": 21,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
						"line": 31,
						"call": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
						"line": 21,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
						"line": 40,
						"call": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
						"line": 27,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
						"line": 86,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\HandleCors.php",
						"line": 62,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Illuminate\\Http\\Middleware\\HandleCors::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\TrustProxies.php",
						"line": 39,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 180,
						"call": "Illuminate\\Http\\Middleware\\TrustProxies::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
						"line": 116,
						"call": "Illuminate\\Pipeline\\Pipeline::Illuminate\\Pipeline\\{closure}()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
						"line": 175,
						"call": "Illuminate\\Pipeline\\Pipeline::then()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
						"line": 144,
						"call": "Illuminate\\Foundation\\Http\\Kernel::sendRequestThroughRouter()"
					},
					{
						"file": "C:\\www\\workrest\\public\\index.php",
						"line": 52,
						"call": "Illuminate\\Foundation\\Http\\Kernel::handle()"
					},
					{
						"file": "C:\\www\\workrest\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\resources\\server.php",
						"line": 16,
						"function": "require_once('C:\\www\\workrest\\public\\index.php')"
					}
				]
			}
		}
	]
}
@SlyDave SlyDave changed the title refreshToken has stopped working due to changesin JWT refreshToken has stopped working due to changes in JWT Aug 11, 2023
@SlyDave
Copy link
Author

SlyDave commented Aug 11, 2023

passport v11 and oauth2-server v8 both updated to support jtw 5.0 which removed the method being called. lighthouse-graphql-passport-auth has support for passport v11, even though it specifies jtw 4.0 so we've got an old-fashioned dependency break :D

$ composer depends lcobucci/jwt
laravel/passport          v11.8.8    requires  lcobucci/jwt (^4.3|^5.0)                            
league/oauth2-server      8.5.3      requires  lcobucci/jwt (^4.3 || ^5.0)                         
roave/security-advisories dev-master conflicts lcobucci/jwt (>=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5)
│  ├──laravel/passport v11.8.8 (requires league/oauth2-server ^8.5.3)
│  │  ├──goseadigital/workrest dev-develop (requires laravel/passport ^v11.8.0)
│  │  └──joselfonseca/lighthouse-graphql-passport-auth 9.0.0 (requires laravel/passport ^9.0 || ^10.0 || ^11.0)
│  │     └──[REDACTED] dev-develop (requires joselfonseca/lighthouse-graphql-passport-auth 9.0.0)
│  ├──league/oauth2-server 8.5.3 (replaces league/oauth2server *)
│  │  └──league/oauth2-server 8.5.3 (replaces league/oauth2server *) (circular dependency aborted here)
│  ├──league/oauth2-server 8.5.3 (replaces lncd/oauth2 *)
│  │  └──league/oauth2-server 8.5.3 (replaces lncd/oauth2 *) (circular dependency aborted here)
│  ├──league/oauth2-server 8.5.3 (replaces league/oauth2server *) (circular dependency aborted here)
│  ├──league/oauth2-server 8.5.3 (replaces lncd/oauth2 *) (circular dependency aborted here)

@SlyDave
Copy link
Author

SlyDave commented Apr 30, 2024

A quick for for this was committed in #166 - This buys some time. but doesn't resolve the underlying issue

@SlyDave SlyDave mentioned this issue May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant