Is it possible to customize the Trakt API client key and secret to our own credentials? I just installed this plugin (version 20.0.0.0) on Jellyfin version: 10.8.4 and I can't seem to authorize (getting back 500 errors). Looking back at past issues that seems to have been a problem with earlier versions hammering the API but I just installed it so if that's the case it's likely because of the existing API credentials (that or authorize would ordinarily let me set the credentials but because it's failing I can't).
BTW it'd be nice if the README properly documented the setup procedure. It seems pretty self explanatory but when it can fail like this I end up questioning everything :upside_down_face:.
Here are the relevent excerpts from my Jellyfin log.
jellyfin | [23:19:21] [INF] [11] Emby.Server.Implementations.ScheduledTasks.TaskManager: ExecuteQueuedTasks
jellyfin | [23:19:35] [INF] [29] Trakt.Api.TraktController: TraktDeviceAuthorization request received
jellyfin | [23:19:39] [ERR] [30] Trakt.Api.TraktApi: Exception handled in PostToTrakt
jellyfin | System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
jellyfin | at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
jellyfin | at Trakt.Api.TraktApi.PostToTrakt[T](String url, Object data, TraktUser traktUser, CancellationToken cancellationToken)
jellyfin | [23:19:39] [ERR] [30] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL POST /Trakt/Users/6764361e4a764ea7adfe40972ea3748d/Authorize.
jellyfin | System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
jellyfin | at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
jellyfin | at Trakt.Api.TraktApi.PostToTrakt[T](String url, Object data, TraktUser traktUser, CancellationToken cancellationToken)
jellyfin | at Trakt.Api.TraktApi.AuthorizeDevice(TraktUser traktUser)
jellyfin | at Trakt.Api.TraktController.TraktDeviceAuthorization(Guid userGuid)
jellyfin | at lambda_method1037(Closure , Object )
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin | at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
jellyfin | at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
jellyfin | at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
jellyfin | at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
jellyfin | at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
jellyfin | at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
jellyfin | at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
jellyfin | at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
jellyfin | at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
jellyfin | at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
jellyfin | at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
jellyfin | at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
jellyfin | [23:19:39] [WRN] [30] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://0.0.0.0:8096/Trakt/Users/6764361e4a764ea7adfe40972ea3748d/Authorize to 127.0.0.1 in 0:00:03.3506354 with Status Code 500
You need to update your Jellyfin install and the plugin to v21.
We had a regression hammering the API so the ids and keys used in the plugin got disabled and required replacing after we fixed the regression.
Hi,
Is it possible to customize the Trakt API client key and secret to our own credentials? I just installed this plugin (version 20.0.0.0) on Jellyfin version: 10.8.4 and I can't seem to authorize (getting back 500 errors). Looking back at past issues that seems to have been a problem with earlier versions hammering the API but I just installed it so if that's the case it's likely because of the existing API credentials (that or authorize would ordinarily let me set the credentials but because it's failing I can't).
BTW it'd be nice if the README properly documented the setup procedure. It seems pretty self explanatory but when it can fail like this I end up questioning everything :upside_down_face:.
Here are the relevent excerpts from my Jellyfin log.