-
Notifications
You must be signed in to change notification settings - Fork 28
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
Missing "id_token" when get_launch_data() in launch() function #5
Comments
hi @shinsean . I may assume that you are doing something wrong. |
http://www.imsglobal.org/spec/lti/v1p3/#messages-and-services:
id_token is passed by platform (i.e Canvas) |
Is there any obvious error that you suspect I might have made? |
I have a friend who I am working with and he is stuck on the same issue. @JoshYoung2693. Since I will be going to bed, he will be taking my place in this discussion until I wake up. He has done the same steps as me with the same conditions and has the same problem. |
|
Is there any obvious error that you suspect we might have made? |
hi @JoshYoung2693 .
|
I am trying to get the Flask Example working, but have run into several issues. While the others were able to be solved through modification of the code, the missing "id_token" error I was unable to fix.
The error is in line 108 in app.py. It is returning a "missing 'id_token'" error when the program gets to that point.
I believe the problem stems from line 33 in https://github.com/dmitry-viskov/pylti1.3/blob/aa20e77bbe1cf95f5e5134e8e684a082bd255e8a/pylti1p3/contrib/flask/request.py#L33 returning None when the "id_token" key is attempted to be retrieved.
From what I could tell, that method is called in _get_id_token() in https://github.com/dmitry-viskov/pylti1.3/blob/aa20e77bbe1cf95f5e5134e8e684a082bd255e8a/pylti1p3/message_launch.py#L282
which in turn is called in validate_jwt_format() in https://github.com/dmitry-viskov/pylti1.3/blob/aa20e77bbe1cf95f5e5134e8e684a082bd255e8a/pylti1p3/message_launch.py#L506
which in turn is called in validate() in https://github.com/dmitry-viskov/pylti1.3/blob/aa20e77bbe1cf95f5e5134e8e684a082bd255e8a/pylti1p3/message_launch.py#L248
which in turn is called in _get_jwt_body() in https://github.com/dmitry-viskov/pylti1.3/blob/aa20e77bbe1cf95f5e5134e8e684a082bd255e8a/pylti1p3/message_launch.py#L269
which in turn is called in get_launch_data() in https://github.com/dmitry-viskov/pylti1.3/blob/aa20e77bbe1cf95f5e5134e8e684a082bd255e8a/pylti1p3/message_launch.py#L390
which in turn is called in the launch() function in the Flask Example.
Browser: Vivaldi (All other browsers (with the exception of Epiphany Browser) were unable to load the embed when "External Tool" was chosen in the Assignment Upload section)
Canvas was installed locally and running on 127.0.0.1:3000/
The Flask Example was run inside a venv following all of the instructions listed in the README.
Public and private keys were generated.
The developer key and the app was created and installed in the organization's admin page in Canvas instead of "Site Admin". When creating the keys and installing the application, all steps laid out in https://github.com/dmitry-viskov/pylti1.3/wiki/Configure-Canvas-as-LTI-1.3-Platform
In game.json, the "https://canvas.instructure.com" was kept the same. Whenever there was a "http://canvas.docker", it was changed to "http://127.0.0.1:3000/". The names/paths for the key files were updated to reflect the current paths to the key files. The client ID and the deployment ID were also changed to reflect what was in Canvas.
The text was updated successfully, but these errors were encountered: