This LTI® v1.3 Reference Implementation Test Tool is provided by IMS Global Learning Consortium. Limited functionality is provided free of charge. IMS Members have access to the complete functionality of the tool including services and message types. Join now to experience full functionality of the tool, technical support and certification. If you are an existing member login here for full access.
Launch Status

Valid

Launch was successfuly received by Reference Tool.

0 Errors below.

0 Warnings below.


JWT Decode + Authorization
Success

JWT was decoded correctly with the kid (Key ID) and public key provided by the Platform.

Missing Required Attributes
Following attributes are required but were not sent:

  • No Missing Attributes

Warnings
Following issues should be fixed:

  • No Issues to Fix.

Assignment and Grade Service
Names and Role Provisioning Service
Proctoring Services

Missing OAuth2 URL on Tool (required for acccess token) or this launch did not include Proctoring Services claims.

Pre-fetched OAuth2 Access Token:
{
  "status": 500,
  "error": "Internal Server Error",
  "exception": "#<JWT::InvalidIssuerError: Invalid issuer. Expected [\"go-react\"], received PE Test Tool 1>",
  "traces": {
    "Application Trace": [
      {
        "exception_object_id": 6759440,
        "id": 8,
        "trace": "app/controllers/lti_controller.rb:411:in `verify_client_assertion'"
      },
      {
        "exception_object_id": 6759440,
        "id": 9,
        "trace": "app/controllers/lti_controller.rb:171:in `token'"
      },
      {
        "exception_object_id": 6759440,
        "id": 72,
        "trace": "app/middleware/do_not_cache_public_files.rb:8:in `call'"
      }
    ],
    "Framework Trace": [
      {
        "exception_object_id": 6759440,
        "id": 0,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:63:in `verify_iss'"
      },
      {
        "exception_object_id": 6759440,
        "id": 1,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:15:in `block (2 levels) in singleton class'"
      },
      {
        "exception_object_id": 6759440,
        "id": 2,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:23:in `block in verify_claims'"
      },
      {
        "exception_object_id": 6759440,
        "id": 3,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:20:in `each'"
      },
      {
        "exception_object_id": 6759440,
        "id": 4,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:20:in `verify_claims'"
      },
      {
        "exception_object_id": 6759440,
        "id": 5,
        "trace": "jwt (2.8.1) lib/jwt/decode.rb:116:in `verify_claims'"
      },
      {
        "exception_object_id": 6759440,
        "id": 6,
        "trace": "jwt (2.8.1) lib/jwt/decode.rb:31:in `decode_segments'"
      },
      {
        "exception_object_id": 6759440,
        "id": 7,
        "trace": "jwt (2.8.1) lib/jwt.rb:30:in `decode'"
      },
      {
        "exception_object_id": 6759440,
        "id": 10,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 11,
        "trace": "actionpack (8.0.2.1) lib/abstract_controller/base.rb:226:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 12,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 13,
        "trace": "actionpack (8.0.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 14,
        "trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:120:in `block in run_callbacks'"
      },
      {
        "exception_object_id": 6759440,
        "id": 15,
        "trace": "turbo-rails (2.0.16) lib/turbo-rails.rb:24:in `with_request_id'"
      },
      {
        "exception_object_id": 6759440,
        "id": 16,
        "trace": "turbo-rails (2.0.16) app/controllers/concerns/turbo/request_id_tracking.rb:10:in `turbo_tracking_request_id'"
      },
      {
        "exception_object_id": 6759440,
        "id": 17,
        "trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:129:in `block in run_callbacks'"
      },
      {
        "exception_object_id": 6759440,
        "id": 18,
        "trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:140:in `run_callbacks'"
      },
      {
        "exception_object_id": 6759440,
        "id": 19,
        "trace": "actionpack (8.0.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 20,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 21,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/instrumentation.rb:76:in `block in process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 22,
        "trace": "activesupport (8.0.2.1) lib/active_support/notifications.rb:210:in `block in instrument'"
      },
      {
        "exception_object_id": 6759440,
        "id": 23,
        "trace": "activesupport (8.0.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'"
      },
      {
        "exception_object_id": 6759440,
        "id": 24,
        "trace": "activesupport (8.0.2.1) lib/active_support/notifications.rb:210:in `instrument'"
      },
      {
        "exception_object_id": 6759440,
        "id": 25,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/instrumentation.rb:75:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 26,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 27,
        "trace": "activerecord (8.0.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 28,
        "trace": "actionpack (8.0.2.1) lib/abstract_controller/base.rb:163:in `process'"
      },
      {
        "exception_object_id": 6759440,
        "id": 29,
        "trace": "actionview (8.0.2.1) lib/action_view/rendering.rb:40:in `process'"
      },
      {
        "exception_object_id": 6759440,
        "id": 30,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal.rb:252:in `dispatch'"
      },
      {
        "exception_object_id": 6759440,
        "id": 31,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal.rb:335:in `dispatch'"
      },
      {
        "exception_object_id": 6759440,
        "id": 32,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'"
      },
      {
        "exception_object_id": 6759440,
        "id": 33,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'"
      },
      {
        "exception_object_id": 6759440,
        "id": 34,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'"
      },
      {
        "exception_object_id": 6759440,
        "id": 35,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'"
      },
      {
        "exception_object_id": 6759440,
        "id": 36,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:126:in `each'"
      },
      {
        "exception_object_id": 6759440,
        "id": 37,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'"
      },
      {
        "exception_object_id": 6759440,
        "id": 38,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'"
      },
      {
        "exception_object_id": 6759440,
        "id": 39,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:908:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 40,
        "trace": "railties (8.0.2.1) lib/rails/engine/lazy_route_set.rb:68:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 41,
        "trace": "rack (3.2.3) lib/rack/method_override.rb:28:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 42,
        "trace": "scout_apm (5.6.4) lib/scout_apm/instant/middleware.rb:55:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 43,
        "trace": "scout_apm (5.6.4) lib/scout_apm/middleware.rb:17:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 44,
        "trace": "rack-session (2.1.1) lib/rack/session/abstract/id.rb:274:in `context'"
      },
      {
        "exception_object_id": 6759440,
        "id": 45,
        "trace": "rack-session (2.1.1) lib/rack/session/abstract/id.rb:268:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 46,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/cookies.rb:706:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 47,
        "trace": "rack (3.2.3) lib/rack/method_override.rb:28:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 48,
        "trace": "rack (3.2.3) lib/rack/etag.rb:29:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 49,
        "trace": "rack (3.2.3) lib/rack/conditional_get.rb:44:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 50,
        "trace": "rack (3.2.3) lib/rack/head.rb:15:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 51,
        "trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:671:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 52,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 53,
        "trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:100:in `run_callbacks'"
      },
      {
        "exception_object_id": 6759440,
        "id": 54,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 55,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 56,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 57,
        "trace": "sentry-rails (5.26.0) lib/sentry/rails/rescued_exception_interceptor.rb:11:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 58,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 59,
        "trace": "sentry-ruby (5.26.0) lib/sentry/rack/capture_exceptions.rb:15:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 60,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 61,
        "trace": "railties (8.0.2.1) lib/rails/rack/logger.rb:41:in `call_app'"
      },
      {
        "exception_object_id": 6759440,
        "id": 62,
        "trace": "railties (8.0.2.1) lib/rails/rack/logger.rb:29:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 63,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 64,
        "trace": "rack-timeout (0.7.0) lib/rack/timeout/core.rb:116:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 65,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/request_id.rb:34:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 66,
        "trace": "rack (3.2.3) lib/rack/runtime.rb:24:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 67,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 68,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'"
      },
      {
        "exception_object_id": 6759440,
        "id": 69,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:60:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 70,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 71,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/static.rb:27:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 73,
        "trace": "rack (3.2.3) lib/rack/sendfile.rb:131:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 74,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/host_authorization.rb:143:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 75,
        "trace": "rack-cors (3.0.0) lib/rack/cors.rb:102:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 76,
        "trace": "vite_ruby (3.9.1) lib/vite_ruby/dev_server_proxy.rb:22:in `perform_request'"
      },
      {
        "exception_object_id": 6759440,
        "id": 77,
        "trace": "rack-proxy (0.7.7) lib/rack/proxy.rb:87:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 78,
        "trace": "railties (8.0.2.1) lib/rails/engine.rb:535:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 79,
        "trace": "puma (6.6.0) lib/puma/configuration.rb:279:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 80,
        "trace": "puma (6.6.0) lib/puma/request.rb:99:in `block in handle_request'"
      },
      {
        "exception_object_id": 6759440,
        "id": 81,
        "trace": "puma (6.6.0) lib/puma/thread_pool.rb:390:in `with_force_shutdown'"
      },
      {
        "exception_object_id": 6759440,
        "id": 82,
        "trace": "puma (6.6.0) lib/puma/request.rb:98:in `handle_request'"
      },
      {
        "exception_object_id": 6759440,
        "id": 83,
        "trace": "puma (6.6.0) lib/puma/server.rb:472:in `process_client'"
      },
      {
        "exception_object_id": 6759440,
        "id": 84,
        "trace": "puma (6.6.0) lib/puma/server.rb:254:in `block in run'"
      },
      {
        "exception_object_id": 6759440,
        "id": 85,
        "trace": "puma (6.6.0) lib/puma/thread_pool.rb:167:in `block in spawn_thread'"
      }
    ],
    "Full Trace": [
      {
        "exception_object_id": 6759440,
        "id": 0,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:63:in `verify_iss'"
      },
      {
        "exception_object_id": 6759440,
        "id": 1,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:15:in `block (2 levels) in singleton class'"
      },
      {
        "exception_object_id": 6759440,
        "id": 2,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:23:in `block in verify_claims'"
      },
      {
        "exception_object_id": 6759440,
        "id": 3,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:20:in `each'"
      },
      {
        "exception_object_id": 6759440,
        "id": 4,
        "trace": "jwt (2.8.1) lib/jwt/verify.rb:20:in `verify_claims'"
      },
      {
        "exception_object_id": 6759440,
        "id": 5,
        "trace": "jwt (2.8.1) lib/jwt/decode.rb:116:in `verify_claims'"
      },
      {
        "exception_object_id": 6759440,
        "id": 6,
        "trace": "jwt (2.8.1) lib/jwt/decode.rb:31:in `decode_segments'"
      },
      {
        "exception_object_id": 6759440,
        "id": 7,
        "trace": "jwt (2.8.1) lib/jwt.rb:30:in `decode'"
      },
      {
        "exception_object_id": 6759440,
        "id": 8,
        "trace": "app/controllers/lti_controller.rb:411:in `verify_client_assertion'"
      },
      {
        "exception_object_id": 6759440,
        "id": 9,
        "trace": "app/controllers/lti_controller.rb:171:in `token'"
      },
      {
        "exception_object_id": 6759440,
        "id": 10,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 11,
        "trace": "actionpack (8.0.2.1) lib/abstract_controller/base.rb:226:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 12,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 13,
        "trace": "actionpack (8.0.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 14,
        "trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:120:in `block in run_callbacks'"
      },
      {
        "exception_object_id": 6759440,
        "id": 15,
        "trace": "turbo-rails (2.0.16) lib/turbo-rails.rb:24:in `with_request_id'"
      },
      {
        "exception_object_id": 6759440,
        "id": 16,
        "trace": "turbo-rails (2.0.16) app/controllers/concerns/turbo/request_id_tracking.rb:10:in `turbo_tracking_request_id'"
      },
      {
        "exception_object_id": 6759440,
        "id": 17,
        "trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:129:in `block in run_callbacks'"
      },
      {
        "exception_object_id": 6759440,
        "id": 18,
        "trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:140:in `run_callbacks'"
      },
      {
        "exception_object_id": 6759440,
        "id": 19,
        "trace": "actionpack (8.0.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 20,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 21,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/instrumentation.rb:76:in `block in process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 22,
        "trace": "activesupport (8.0.2.1) lib/active_support/notifications.rb:210:in `block in instrument'"
      },
      {
        "exception_object_id": 6759440,
        "id": 23,
        "trace": "activesupport (8.0.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'"
      },
      {
        "exception_object_id": 6759440,
        "id": 24,
        "trace": "activesupport (8.0.2.1) lib/active_support/notifications.rb:210:in `instrument'"
      },
      {
        "exception_object_id": 6759440,
        "id": 25,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/instrumentation.rb:75:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 26,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 27,
        "trace": "activerecord (8.0.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'"
      },
      {
        "exception_object_id": 6759440,
        "id": 28,
        "trace": "actionpack (8.0.2.1) lib/abstract_controller/base.rb:163:in `process'"
      },
      {
        "exception_object_id": 6759440,
        "id": 29,
        "trace": "actionview (8.0.2.1) lib/action_view/rendering.rb:40:in `process'"
      },
      {
        "exception_object_id": 6759440,
        "id": 30,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal.rb:252:in `dispatch'"
      },
      {
        "exception_object_id": 6759440,
        "id": 31,
        "trace": "actionpack (8.0.2.1) lib/action_controller/metal.rb:335:in `dispatch'"
      },
      {
        "exception_object_id": 6759440,
        "id": 32,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'"
      },
      {
        "exception_object_id": 6759440,
        "id": 33,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'"
      },
      {
        "exception_object_id": 6759440,
        "id": 34,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'"
      },
      {
        "exception_object_id": 6759440,
        "id": 35,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'"
      },
      {
        "exception_object_id": 6759440,
        "id": 36,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:126:in `each'"
      },
      {
        "exception_object_id": 6759440,
        "id": 37,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'"
      },
      {
        "exception_object_id": 6759440,
        "id": 38,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'"
      },
      {
        "exception_object_id": 6759440,
        "id": 39,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:908:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 40,
        "trace": "railties (8.0.2.1) lib/rails/engine/lazy_route_set.rb:68:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 41,
        "trace": "rack (3.2.3) lib/rack/method_override.rb:28:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 42,
        "trace": "scout_apm (5.6.4) lib/scout_apm/instant/middleware.rb:55:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 43,
        "trace": "scout_apm (5.6.4) lib/scout_apm/middleware.rb:17:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 44,
        "trace": "rack-session (2.1.1) lib/rack/session/abstract/id.rb:274:in `context'"
      },
      {
        "exception_object_id": 6759440,
        "id": 45,
        "trace": "rack-session (2.1.1) lib/rack/session/abstract/id.rb:268:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 46,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/cookies.rb:706:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 47,
        "trace": "rack (3.2.3) lib/rack/method_override.rb:28:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 48,
        "trace": "rack (3.2.3) lib/rack/etag.rb:29:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 49,
        "trace": "rack (3.2.3) lib/rack/conditional_get.rb:44:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 50,
        "trace": "rack (3.2.3) lib/rack/head.rb:15:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 51,
        "trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:671:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 52,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 53,
        "trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:100:in `run_callbacks'"
      },
      {
        "exception_object_id": 6759440,
        "id": 54,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 55,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 56,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 57,
        "trace": "sentry-rails (5.26.0) lib/sentry/rails/rescued_exception_interceptor.rb:11:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 58,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 59,
        "trace": "sentry-ruby (5.26.0) lib/sentry/rack/capture_exceptions.rb:15:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 60,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 61,
        "trace": "railties (8.0.2.1) lib/rails/rack/logger.rb:41:in `call_app'"
      },
      {
        "exception_object_id": 6759440,
        "id": 62,
        "trace": "railties (8.0.2.1) lib/rails/rack/logger.rb:29:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 63,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 64,
        "trace": "rack-timeout (0.7.0) lib/rack/timeout/core.rb:116:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 65,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/request_id.rb:34:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 66,
        "trace": "rack (3.2.3) lib/rack/runtime.rb:24:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 67,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 68,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'"
      },
      {
        "exception_object_id": 6759440,
        "id": 69,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:60:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 70,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 71,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/static.rb:27:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 72,
        "trace": "app/middleware/do_not_cache_public_files.rb:8:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 73,
        "trace": "rack (3.2.3) lib/rack/sendfile.rb:131:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 74,
        "trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/host_authorization.rb:143:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 75,
        "trace": "rack-cors (3.0.0) lib/rack/cors.rb:102:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 76,
        "trace": "vite_ruby (3.9.1) lib/vite_ruby/dev_server_proxy.rb:22:in `perform_request'"
      },
      {
        "exception_object_id": 6759440,
        "id": 77,
        "trace": "rack-proxy (0.7.7) lib/rack/proxy.rb:87:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 78,
        "trace": "railties (8.0.2.1) lib/rails/engine.rb:535:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 79,
        "trace": "puma (6.6.0) lib/puma/configuration.rb:279:in `call'"
      },
      {
        "exception_object_id": 6759440,
        "id": 80,
        "trace": "puma (6.6.0) lib/puma/request.rb:99:in `block in handle_request'"
      },
      {
        "exception_object_id": 6759440,
        "id": 81,
        "trace": "puma (6.6.0) lib/puma/thread_pool.rb:390:in `with_force_shutdown'"
      },
      {
        "exception_object_id": 6759440,
        "id": 82,
        "trace": "puma (6.6.0) lib/puma/request.rb:98:in `handle_request'"
      },
      {
        "exception_object_id": 6759440,
        "id": 83,
        "trace": "puma (6.6.0) lib/puma/server.rb:472:in `process_client'"
      },
      {
        "exception_object_id": 6759440,
        "id": 84,
        "trace": "puma (6.6.0) lib/puma/server.rb:254:in `block in run'"
      },
      {
        "exception_object_id": 6759440,
        "id": 85,
        "trace": "puma (6.6.0) lib/puma/thread_pool.rb:167:in `block in spawn_thread'"
      }
    ]
  }
}
OIDC State
"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImtnSlZyMkRQX0ZyZmVMeTFRWFhtWEgzaXVZSkQ3ajlDdmtGbWFhNVJYQUkiLCJ0eXAiOiJKV1QifQ.eyJ0b29sX2lkIjo0ODk2LCJzdGF0ZV9ub25jZSI6IjFmYTNmYmIxY2UyYWZjODM1YTk2IiwicGFyYW1zIjp7ImNsaWVudF9pZCI6InBlLXRvb2wtdGVzdC0xIiwibG9naW5faGludCI6IjE3IiwibHRpX2RlcGxveW1lbnRfaWQiOiIxIiwibHRpX21lc3NhZ2VfaGludCI6IntcInJlc291cmNlX2xpbmtfaWRcIjpcInZpZGVvLWNsaXAtMVwifSIsInRhcmdldF9saW5rX3VyaSI6Imh0dHBzOi8vbHRpLXJpLmltc2dsb2JhbC5vcmcvbHRpL3Rvb2xzLzQ4OTYvbGF1bmNoZXMiLCJjb250cm9sbGVyIjoibHRpL2xvZ2luX2luaXRpYXRpb25zIiwiYWN0aW9uIjoiaW5kZXgiLCJ0b29sX2lkIjoiNDg5NiJ9LCJpc3MiOiJQRSBUZXN0IFRvb2wgMSIsInN1YiI6InBlLXRvb2wtdGVzdC0xIiwiYXVkIjoiaHR0cHM6Ly8yZWEwLTE0OS00MC0xMTctMTAwLm5ncm9rLWZyZWUuYXBwL2x0aS90b2tlbiIsImlhdCI6MTcxOTQ4NTYwMywiZXhwIjoxNzE5NDg1OTAzLCJqdGkiOiIyMWJmYTVjZjA4YTgyNzFhZDk2YiJ9.K5CXDJAg9AqEn9r6a25T-GyvBFYGLeku40Bpc1HlTWAtm8cGuLkfintEOobLxAOZG5Jm-v4S7N0iPMn0-1HCYllcg6rT90v10DAr1tUp3x4TYPyx0xekTG1d_F6Cla4Q3HTntocEO3_lmQwa_JYqsX6fuhMNFd4hVvf0sYR1ITulwGAaqhA1b5cvV97kOQPib4Pxup_4Bti7QIvb2A-ZwUidrhaD8x6uxtMMvUnFMGFiWnqwXH_tKxx2FcgGHE4yAKmr0qs7PgfCwdYNOSzlfKtY7dHCAxUavsu2sAb2hBxJkfG-lBuaTGf1aqLdtoAso1-erEUpVxs4VsHnqRd0ww"
JWT Header
{
  "kid": "88be63634b4e21773731e25f5d45c64a078fdd8cc3467a3c6bc872235b5eb8d7",
  "typ": "JWT",
  "alg": "RS256"
}
Security Details
{
  "iss": "https://pe.test",
  "sub": "17",
  "aud": "pe-tool-test-1",
  "exp": 1719486206,
  "iat": 1719485606,
  "nonce": "e2zs8VD9o0mXFq7tiFAj_A"
}
Data not in Claims
{
}
Claims
{
  "https://purl.imsglobal.org/spec/lti/claim/message_type": "LtiResourceLinkRequest",
  "https://purl.imsglobal.org/spec/lti/claim/version": "1.3.0",
  "https://purl.imsglobal.org/spec/lti/claim/deployment_id": "1",
  "https://purl.imsglobal.org/spec/lti/claim/target_link_uri": "https://lti-ri.imsglobal.org/lti/tools/4896/launches",
  "https://purl.imsglobal.org/spec/lti/claim/resource_link": {
    "id": "videoclip-1",
    "title": "Hello"
  },
  "https://purl.imsglobal.org/spec/lti/claim/roles": [
    "http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"
  ]
}