LTI issue with Lynda (LinkedIn Learning)

Hello All,

LTI integration with Lynda (now Linkedin Learning) is not working.

Below are the steps which I followed to work LTI.

  • Added “lti_consumer” in Advanced Settings > Advanced Module List

  • Added Passport in Advanced Settings > LTI Passports
    Passport: “linkedin_id:customer_key:customer_secret_key”

  • Created LTI consumer block from Advance with the following details.
    LTI ID: linkedin_id
    LTI URL: https://www.lynda.com/portal/lti
    Custom Parameters: [“lis_person_name_full=”, “lis_person_name_family=”, “roles=”, “tool_consumer_instance_description=”, “lis_person_name_given=lms@example.com”, “lis_person_contact_email_primary=lms@example.com”, “context_title=”]

    all other parameter values are the default.

The following error is showing in LMS:

Anyone could help me ?

1 Like

@kiran_chauhan what error trace in LMS logs?

Yes logs might be useful here. When Ive seen this error its because the LTI passport app:ckey:skey does not match.

Sorry for not getting back to you sooner @Zia_Fazal @jsaunders2021

LMS logs:

edx.devstack-koa.master.lms       | 2022-02-10 10:46:53,778 INFO 18 [tracking] [user 3] [ip 172.19.0.1] logger.py:42 - {"name": "/courses/course-v1:edx+edx10101+weeddsd/courseware/6de0f5d0a88040a3b9ddd25871a66874/5bd8e21425294c0b8cb5b49e08cc9ed6/1", "context": {"course_id": "course-v1:edx+edx10101+weeddsd", "course_user_tags": {}, "user_id": 3, "path": "/courses/course-v1:edx+edx10101+weeddsd/courseware/6de0f5d0a88040a3b9ddd25871a66874/5bd8e21425294c0b8cb5b49e08cc9ed6/1", "org_id": "edx"}, "username": "edx", "session": "dcbef6fc5665e7d5a17891dac70f2c59", "ip": "172.19.0.1", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36", "host": "localhost:15000", "referer": "", "accept_language": "en-GB,en-US;q=0.9,en;q=0.8", "event": "{\"GET\": {\"activate_block_id\": [\"block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6\"]}, \"POST\": {}}", "time": "2022-02-10T10:46:53.778076+00:00", "event_type": "/courses/course-v1:edx+edx10101+weeddsd/courseware/6de0f5d0a88040a3b9ddd25871a66874/5bd8e21425294c0b8cb5b49e08cc9ed6/1", "event_source": "server", "page": null}

edx.devstack-koa.master.lms       | 2022-02-10 10:46:53,795 INFO 18 [edx.enterprise_helpers] [user 3] [ip 172.19.0.1] api.py:673 - Getting enterprise consent url for user [edx] and course [course-v1:edx+edx10101+weeddsd].
edx.devstack-koa.master.lms       | 2022-02-10 10:46:53,795 INFO 18 [edx.enterprise_helpers] [user 3] [ip 172.19.0.1] api.py:544 - Determining if user [edx] must consent to data sharing for course [course-v1:edx+edx10101+weeddsd]
edx.devstack-koa.master.lms       | 2022-02-10 10:46:53,796 INFO 18 [edx.enterprise_helpers] [user 3] [ip 172.19.0.1] api.py:554 - Consent from user [edx] is not needed for course [course-v1:edx+edx10101+weeddsd]. The DSC cache was checked, and the value was 0.
edx.devstack-koa.master.lms       | [10/Feb/2022 10:46:56] "GET /courses/course-v1:edx+edx10101+weeddsd/courseware/6de0f5d0a88040a3b9ddd25871a66874/5bd8e21425294c0b8cb5b49e08cc9ed6/1?activate_block_id=block-v1%3Aedx%2Bedx10101%2Bweeddsd%2Btype%40vertical%2Bblock%40fde56a69a3bd4fa5929de95e8b3f16d6 HTTP/1.1" 200 74360
edx.devstack-koa.master.lms       | [10/Feb/2022 10:46:56] "GET /static/fonts/PlayfairDisplay-Black.9a93ee57d2d5.woff2 HTTP/1.1" 404 1882
edx.devstack-koa.master.lms       | [10/Feb/2022 10:46:56] "GET /static/fonts/PlayfairDisplay-Black.0a93fdb34041.woff HTTP/1.1" 404 1879
edx.devstack-koa.master.lms       | [10/Feb/2022 10:46:56] "GET /static/fonts/PlayfairDisplay-Black.829e5b459eba.ttf HTTP/1.1" 404 1876
edx.devstack-koa.master.lms       | 2022-02-10 10:46:56,828 INFO 18 [tracking] [user 3] [ip 172.19.0.1] logger.py:42 - {"name": "/courses/course-v1:edx+edx10101+weeddsd/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "context": {"course_id": "course-v1:edx+edx10101+weeddsd", "course_user_tags": {}, "user_id": 3, "path": "/courses/course-v1:edx+edx10101+weeddsd/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "org_id": "edx"}, "username": "edx", "session": "dcbef6fc5665e7d5a17891dac70f2c59", "ip": "172.19.0.1", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36", "host": "localhost:15000", "referer": "http://localhost:15000/courses/course-v1:edx+edx10101+weeddsd/courseware/6de0f5d0a88040a3b9ddd25871a66874/5bd8e21425294c0b8cb5b49e08cc9ed6/1?activate_block_id=block-v1%3Aedx%2Bedx10101%2Bweeddsd%2Btype%40vertical%2Bblock%40fde56a69a3bd4fa5929de95e8b3f16d6", "accept_language": "en-GB,en-US;q=0.9,en;q=0.8", "event": "{\"GET\": {}, \"POST\": {}}", "time": "2022-02-10T10:46:56.827777+00:00", "event_type": "/courses/course-v1:edx+edx10101+weeddsd/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "event_source": "server", "page": null}
edx.devstack-koa.master.lms       | [10/Feb/2022 10:46:57] "GET /courses/course-v1:edx+edx10101+weeddsd/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler HTTP/1.1" 200 9474

CMS logs:

edx.devstack-koa.master.studio    | 2022-02-10 10:49:28,075 INFO 15 [tracking] [user 3] [ip 172.19.0.1] logger.py:42 - {"name": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/studio_view", "context": {"user_id": 3, "path": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/studio_view", "course_id": "", "org_id": ""}, "username": "edx", "session": "dcbef6fc5665e7d5a17891dac70f2c59", "ip": "172.19.0.1", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36", "host": "localhost:15010", "referer": "http://localhost:15010/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "accept_language": "en-GB,en-US;q=0.9,en;q=0.8", "event": "{\"GET\": {\"_\": [\"1644490158947\"]}, \"POST\": {}}", "time": "2022-02-10T10:49:28.075543+00:00", "event_type": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/studio_view", "event_source": "server", "page": null}
edx.devstack-koa.master.studio    | [10/Feb/2022 10:49:28] "GET /xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/studio_view?_=1644490158947 HTTP/1.1" 200 31308
edx.devstack-koa.master.studio    | 2022-02-10 10:49:29,265 INFO 15 [tracking] [user 3] [ip 172.19.0.1] logger.py:42 - {"name": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/submit_studio_edits", "context": {"user_id": 3, "path": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/submit_studio_edits", "course_id": "", "org_id": ""}, "username": "edx", "session": "dcbef6fc5665e7d5a17891dac70f2c59", "ip": "172.19.0.1", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36", "host": "localhost:15010", "referer": "http://localhost:15010/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "accept_language": "en-GB,en-US;q=0.9,en;q=0.8", "event": "{\"GET\": {}, \"POST\": {\"{\\\"values\\\":{\\\"lti_id\\\":\\\"linkedin_id\\\",\\\"launch_url\\\":\\\"https://www.lynda.com/portal/lti\\\",\\\"custom_parameters\\\":[\\\"lis_person_name_full\": [\"\\\",\\\"lis_person_name_family=\\\",\\\"roles=\\\",\\\"tool_consumer_instance_description=\\\",\\\"lis_person_name_given=lms@vit.edu.au\\\",\\\"lis_person_contact_email_primary=lms@vit.edu.au\\\",\\\"context_title=\\\"]},\\\"defaults\\\":[\\\"display_name\\\",\\\"description\\\",\\\"launch_target\\\",\\\"button_text\\\",\\\"inline_height\\\",\\\"modal_height\\\",\\\"modal_width\\\",\\\"has_score\\\",\\\"weig", "time": "2022-02-10T10:49:29.265315+00:00", "event_type": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/submit_studio_edits", "event_source": "server", "page": null}
edx.devstack-koa.master.studio    | [10/Feb/2022 10:49:29] "POST /xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/submit_studio_edits HTTP/1.1" 200 21
edx.devstack-koa.master.studio    | 2022-02-10 10:49:29,337 INFO 15 [tracking] [user 3] [ip 172.19.0.1] logger.py:42 - {"name": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/reorderable_container_child_preview", "context": {"user_id": 3, "path": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/reorderable_container_child_preview", "course_id": "", "org_id": ""}, "username": "edx", "session": "dcbef6fc5665e7d5a17891dac70f2c59", "ip": "172.19.0.1", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36", "host": "localhost:15010", "referer": "http://localhost:15010/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "accept_language": "en-GB,en-US;q=0.9,en;q=0.8", "event": "{\"GET\": {\"_\": [\"1644490158948\"]}, \"POST\": {}}", "time": "2022-02-10T10:49:29.337242+00:00", "event_type": "/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/reorderable_container_child_preview", "event_source": "server", "page": null}
edx.devstack-koa.master.studio    | 2022-02-10 10:49:29,375 INFO 15 [tracking] [user 3] [ip 172.19.0.1] logger.py:42 - {"name": "/preview/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "context": {"user_id": 3, "path": "/preview/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "course_id": "", "org_id": ""}, "username": "edx", "session": "dcbef6fc5665e7d5a17891dac70f2c59", "ip": "172.19.0.1", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36", "host": "localhost:15010", "referer": "http://localhost:15010/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "accept_language": "en-GB,en-US;q=0.9,en;q=0.8", "event": "{\"GET\": {\"wmode\": [\"transparent\"]}, \"POST\": {}}", "time": "2022-02-10T10:49:29.375005+00:00", "event_type": "/preview/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "event_source": "server", "page": null}
edx.devstack-koa.master.studio    | [10/Feb/2022 10:49:29] "GET /preview/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler?wmode=transparent HTTP/1.1" 200 9667
edx.devstack-koa.master.studio    | [10/Feb/2022 10:49:29] "GET /xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/reorderable_container_child_preview?_=1644490158948 HTTP/1.1" 200 18103
edx.devstack-koa.master.studio    | 2022-02-10 10:49:29,587 INFO 15 [tracking] [user 3] [ip 172.19.0.1] logger.py:42 - {"name": "/xblock/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "context": {"user_id": 3, "path": "/xblock/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "course_id": "", "org_id": ""}, "username": "edx", "session": "dcbef6fc5665e7d5a17891dac70f2c59", "ip": "172.19.0.1", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36", "host": "localhost:15010", "referer": "http://localhost:15010/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "accept_language": "en-GB,en-US;q=0.9,en;q=0.8", "event": "{\"GET\": {}, \"POST\": {}}", "time": "2022-02-10T10:49:29.587646+00:00", "event_type": "/xblock/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "event_source": "server", "page": null}
edx.devstack-koa.master.studio    | 2022-02-10 10:49:29,595 INFO 15 [tracking] [user 3] [ip 172.19.0.1] logger.py:42 - {"name": "/preview/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "context": {"user_id": 3, "path": "/preview/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "course_id": "", "org_id": ""}, "username": "edx", "session": "dcbef6fc5665e7d5a17891dac70f2c59", "ip": "172.19.0.1", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36", "host": "localhost:15010", "referer": "http://localhost:15010/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6", "accept_language": "en-GB,en-US;q=0.9,en;q=0.8", "event": "{\"GET\": {}, \"POST\": {}}", "time": "2022-02-10T10:49:29.595439+00:00", "event_type": "/preview/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler", "event_source": "server", "page": null}
edx.devstack-koa.master.studio    | [10/Feb/2022 10:49:29] "GET /preview/xblock/block-v1:edx+edx10101+weeddsd+type@lti_consumer+block@f93cc56cbf804dc583b7777ef30cb69c/handler/lti_launch_handler HTTP/1.1" 200 9667
edx.devstack-koa.master.studio    | [10/Feb/2022 10:49:29] "GET /xblock/container/block-v1:edx+edx10101+weeddsd+type@vertical+block@fde56a69a3bd4fa5929de95e8b3f16d6 HTTP/1.1" 200 9667```