SlideShare a Scribd company logo
1 of 28
LTI Advantage: The
Next Big Thing in
LMS Integration
Charles R. Severance
University of Michigan School of Information
Do Your Own Demo
• Student - https://dev1.sakaicloud.com/
• Make an account
• Home-> Membership - join the site "Apereo Webinar"
• Lessons -> LMS Test (test.tsugicloud.org)
• Instructor
• Make a site Home -> Worksite Setup - Add Lessons and Gradebook
• Lessons -> App Learning App -> Tsugi Store
https://dev1.sakaicloud.com/
https://dev1.sakaicloud.com/
https://dev1.sakaicloud.com/
https://dev1.sakaicloud.com/
This is the technical talk
LTI Advantage Technology
• New Java Web Token / OpenID Connect / PKI launch – LTI 1.3
• LTI 1.3 Launch
• Deep Linking Launch (Formerly Content Item)
• OAuth 2.0 Services
• Auto-created grade column (like LTI 1.1)
• Members and roles (roster service)
• Outcomes Service (tools can make new columns in the gradebook)
• Unprecedented effort to simultaneously release by the "big five" LMS
vendors
Browser
Platform Tool
LTI 1.3 / Deep Linking Launch
Open ID Connect Initiation
Open ID Connect Response
LTI 1.3 Launch JWT / PKI
Target_link_uri
LMS Test
Keyset URL Tool Redirect Endpoint
OIDC Initialization
PKI – Public Private Keys
• LTI 1.1 Used a shared secret for launches and services
• LTI Advantages uses a pair of Public/Private keys for each message
flow
• Setup is more complex
• Excellent libraries in Java
• Sample code:
basiclti/tsugi-util/src/test/org/tsugi/lti13/LTI13PKITest.java
JSON Web Tokens - JWTs
• A serialization and signing pattern for exchanging structured JSON
• https://jwt.io/
• Excellent libraries in Java
• Sample code:
basiclti/tsugi-util/src/test/org/tsugi/lti13/LLTI13JJWTTest.java
PKI Key Rotation
• When the JWT is signed with a "kid", the public key to verify the
message is looked up using a keyset url
• Clever tools cache the kid / public key until the kid changes on a
message
LTI 1.3 Launch
• JSON "claims" in a Java Web Token signed with a public key
• LMS (Platform) has a private key and shares the public key widely
• Key rotation is possible using kid
• Java Web Tokens
• Like the LTI 1.x "base string"
• Serialization and signatures
• Sample code:
basiclti-common/src/java/org/sakaiproject/basiclti/util/SakaiBLTIUtil.java
OAuth 2.0 Services
• Server to server variant of three legged SSO
• Tool has a private key and shares its public key with the LMS
• Tool uses message signed with public key to request a "short-lived"
token – API token is with API calls to services
• When the token expires (an hour usually) the tool must re-request
• Tokens have "scopes" – like an AUTHZ grant
• Excellent library support in Java for OAuth 2.0
Platform Tool
Names and Roles / Outcomes Services
Token Request JWT / PKI
Token end point
Service
Service
Service
Token
Token
Token
Token
Code for Tokens
• Tsugi: Getting an access token
• tsugi/lib/src/Util/LTI13.php (418)
• Sakai: Producing an Access Token
• basiclti-blis/src/java/org/sakaiproject/lti13/LTI13Servlet.java (1533)
• Tsugi: Using an access token
• tsugi/lib/src/Core/Result.php (231)
• tsugi/lib/src/Util/LTI13.php (122)
Observations
• Great cooperation between and amongst LMS vendors and Tool
Vendors – this was essential to the success of LTI Advantage
• There will be a lot of pressure from LMS Vendors
• Away from proprietary LMS APIs where LTI Advantage is sufficient
• Away from LTI 1.1
• Good news and bad news
• The basics of LTI Advantage is surprisingly easy when you have sample code
• There will be a lot of lousy LTI Advantage Tool implementations (ad for Tsugi)
• SASSifying of the commercial LMS vendors is a complicating factor
Transition Issues
• Good news and bad news
• The basics of LTI Advantage is surprisingly easy when you have sample code
• There will be a lot of lousy LTI Advantage Tool implementations (ad for Tsugi)
• Commercial LMS vendors are getting SASSier
• This will make it harder on tools
• Integrations will happen "above" institutions and be selected by institutions
• Sakai (and I think Moodle) have a very smooth LTI 1.1 -> LTI 1.3
transition path
We are about two years
away from the dawn of
the real NGDLE

More Related Content

What's hot

OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring SecurityOrest Ivasiv
 
JavaScript Fetch API
JavaScript Fetch APIJavaScript Fetch API
JavaScript Fetch APIXcat Liu
 
Transforming xml with XSLT
Transforming  xml with XSLTTransforming  xml with XSLT
Transforming xml with XSLTMalintha Adikari
 
How to design a good REST API: Tools, techniques and best practices
How to design a good REST API: Tools, techniques and best practicesHow to design a good REST API: Tools, techniques and best practices
How to design a good REST API: Tools, techniques and best practicesWSO2
 
2022 HTML5: The future is now
2022 HTML5: The future is now2022 HTML5: The future is now
2022 HTML5: The future is nowGonzalo Cordero
 
OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater Apigee | Google Cloud
 
HTML Semantic Elements
HTML Semantic ElementsHTML Semantic Elements
HTML Semantic ElementsReema
 
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...Scrum Breakfast Vietnam
 
Understanding JWT Exploitation
Understanding JWT ExploitationUnderstanding JWT Exploitation
Understanding JWT ExploitationAkshaeyBhosale
 
Apache Jackrabbit Oak - Scale your content repository to the cloud
Apache Jackrabbit Oak - Scale your content repository to the cloudApache Jackrabbit Oak - Scale your content repository to the cloud
Apache Jackrabbit Oak - Scale your content repository to the cloudRobert Munteanu
 
Client-side JavaScript
Client-side JavaScriptClient-side JavaScript
Client-side JavaScriptLilia Sfaxi
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnectClément OUDOT
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To WebrtcKnoldus Inc.
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling ResolutionDEEPAK KHETAWAT
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsSun Technlogies
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 

What's hot (20)

Css lecture notes
Css lecture notesCss lecture notes
Css lecture notes
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
 
JavaScript Fetch API
JavaScript Fetch APIJavaScript Fetch API
JavaScript Fetch API
 
Transforming xml with XSLT
Transforming  xml with XSLTTransforming  xml with XSLT
Transforming xml with XSLT
 
How to design a good REST API: Tools, techniques and best practices
How to design a good REST API: Tools, techniques and best practicesHow to design a good REST API: Tools, techniques and best practices
How to design a good REST API: Tools, techniques and best practices
 
2022 HTML5: The future is now
2022 HTML5: The future is now2022 HTML5: The future is now
2022 HTML5: The future is now
 
OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater
 
Spring Data JPA
Spring Data JPASpring Data JPA
Spring Data JPA
 
HTML Semantic Elements
HTML Semantic ElementsHTML Semantic Elements
HTML Semantic Elements
 
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
 
Understanding JWT Exploitation
Understanding JWT ExploitationUnderstanding JWT Exploitation
Understanding JWT Exploitation
 
Apache Jackrabbit Oak - Scale your content repository to the cloud
Apache Jackrabbit Oak - Scale your content repository to the cloudApache Jackrabbit Oak - Scale your content repository to the cloud
Apache Jackrabbit Oak - Scale your content repository to the cloud
 
Client-side JavaScript
Client-side JavaScriptClient-side JavaScript
Client-side JavaScript
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To Webrtc
 
Html
HtmlHtml
Html
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling Resolution
 
Bootstrap 4 ppt
Bootstrap 4 pptBootstrap 4 ppt
Bootstrap 4 ppt
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts Basics
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 

Similar to LTI Advantage: The Next Big Thing in LMS Integration

D2L Brightspace Vendor Integrations: Technology and Terminology
D2L Brightspace Vendor Integrations: Technology and TerminologyD2L Brightspace Vendor Integrations: Technology and Terminology
D2L Brightspace Vendor Integrations: Technology and TerminologyD2L Barry
 
Changing Copyright Practices in Teaching and Learning: Blackboard Integration...
Changing Copyright Practices in Teaching and Learning: Blackboard Integration...Changing Copyright Practices in Teaching and Learning: Blackboard Integration...
Changing Copyright Practices in Teaching and Learning: Blackboard Integration...Blackboard APAC
 
Building the NGDLE with Tsugi (次) and Koseu(코스)
Building the NGDLE with Tsugi (次) and Koseu(코스)Building the NGDLE with Tsugi (次) and Koseu(코스)
Building the NGDLE with Tsugi (次) and Koseu(코스)Charles Severance
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePointLouis-Philippe Lavoie
 
Moodle as the central hub of learning with tools plugged in –learning tool in...
Moodle as the central hub of learning with tools plugged in –learning tool in...Moodle as the central hub of learning with tools plugged in –learning tool in...
Moodle as the central hub of learning with tools plugged in –learning tool in...Gavin Henrick
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk UpdateESUG
 
Open API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative (OAI)
 
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 159 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15Open API Initiative (OAI)
 
IMS Basic Learning Tools Interoperability
IMS Basic Learning Tools InteroperabilityIMS Basic Learning Tools Interoperability
IMS Basic Learning Tools InteroperabilityCharles Severance
 
LTI Update at the IMS QUarterly Meeting, Utrecht, NL
LTI Update at the IMS QUarterly Meeting, Utrecht, NLLTI Update at the IMS QUarterly Meeting, Utrecht, NL
LTI Update at the IMS QUarterly Meeting, Utrecht, NLCharles Severance
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferaydaveayan
 
Building the Next Generation Teaching and Learning Environment with Tsugi (次)
Building the Next Generation Teaching and Learning Environment with Tsugi (次)Building the Next Generation Teaching and Learning Environment with Tsugi (次)
Building the Next Generation Teaching and Learning Environment with Tsugi (次)Charles Severance
 

Similar to LTI Advantage: The Next Big Thing in LMS Integration (20)

D2L Brightspace Vendor Integrations: Technology and Terminology
D2L Brightspace Vendor Integrations: Technology and TerminologyD2L Brightspace Vendor Integrations: Technology and Terminology
D2L Brightspace Vendor Integrations: Technology and Terminology
 
2011 03-03-blti-umass
2011 03-03-blti-umass2011 03-03-blti-umass
2011 03-03-blti-umass
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Changing Copyright Practices in Teaching and Learning: Blackboard Integration...
Changing Copyright Practices in Teaching and Learning: Blackboard Integration...Changing Copyright Practices in Teaching and Learning: Blackboard Integration...
Changing Copyright Practices in Teaching and Learning: Blackboard Integration...
 
Building the NGDLE with Tsugi (次) and Koseu(코스)
Building the NGDLE with Tsugi (次) and Koseu(코스)Building the NGDLE with Tsugi (次) and Koseu(코스)
Building the NGDLE with Tsugi (次) and Koseu(코스)
 
IMS Basic LTI Overview
IMS Basic LTI OverviewIMS Basic LTI Overview
IMS Basic LTI Overview
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePoint
 
Moodle as the central hub of learning with tools plugged in –learning tool in...
Moodle as the central hub of learning with tools plugged in –learning tool in...Moodle as the central hub of learning with tools plugged in –learning tool in...
Moodle as the central hub of learning with tools plugged in –learning tool in...
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk Update
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
Open API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative: Six months and counting
Open API Initiative: Six months and counting
 
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 159 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
 
Stackato
StackatoStackato
Stackato
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
 
IMS Basic Learning Tools Interoperability
IMS Basic Learning Tools InteroperabilityIMS Basic Learning Tools Interoperability
IMS Basic Learning Tools Interoperability
 
LTI Update at the IMS QUarterly Meeting, Utrecht, NL
LTI Update at the IMS QUarterly Meeting, Utrecht, NLLTI Update at the IMS QUarterly Meeting, Utrecht, NL
LTI Update at the IMS QUarterly Meeting, Utrecht, NL
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferay
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
 
IOER Integration Guide
IOER Integration GuideIOER Integration Guide
IOER Integration Guide
 
Building the Next Generation Teaching and Learning Environment with Tsugi (次)
Building the Next Generation Teaching and Learning Environment with Tsugi (次)Building the Next Generation Teaching and Learning Environment with Tsugi (次)
Building the Next Generation Teaching and Learning Environment with Tsugi (次)
 

More from Charles Severance

Sakai Hierarchy Framework Changes Overview (not implemented)
Sakai Hierarchy  Framework Changes Overview (not implemented)Sakai Hierarchy  Framework Changes Overview (not implemented)
Sakai Hierarchy Framework Changes Overview (not implemented)Charles Severance
 
Exploring the Next Generation Digital Learning Ecosystem
Exploring the Next Generation Digital Learning EcosystemExploring the Next Generation Digital Learning Ecosystem
Exploring the Next Generation Digital Learning EcosystemCharles Severance
 
Exploring the Next Generation Digital Learning Environment with Tsugi
Exploring the Next Generation Digital Learning Environment with TsugiExploring the Next Generation Digital Learning Environment with Tsugi
Exploring the Next Generation Digital Learning Environment with TsugiCharles Severance
 
Beyond MOOCs: Open Education at Scale
Beyond MOOCs: Open Education at ScaleBeyond MOOCs: Open Education at Scale
Beyond MOOCs: Open Education at ScaleCharles Severance
 
Building the Next Generation Teaching and Learning Environment
Building the Next Generation Teaching and Learning EnvironmentBuilding the Next Generation Teaching and Learning Environment
Building the Next Generation Teaching and Learning EnvironmentCharles Severance
 
CloudSocial: A New Approach to Enabling Open Content for Broad Reuse
CloudSocial: A New Approach to Enabling Open Content for Broad ReuseCloudSocial: A New Approach to Enabling Open Content for Broad Reuse
CloudSocial: A New Approach to Enabling Open Content for Broad ReuseCharles Severance
 
Next Generation Teaching and Learning
Next Generation Teaching and LearningNext Generation Teaching and Learning
Next Generation Teaching and LearningCharles Severance
 
Next Generation Teaching and Learning
Next Generation Teaching and LearningNext Generation Teaching and Learning
Next Generation Teaching and LearningCharles Severance
 
A View on the Future of Sakai
A View on the Future of SakaiA View on the Future of Sakai
A View on the Future of SakaiCharles Severance
 
The Next Generation of Teaching and Learning Tools
The Next Generation of Teaching and Learning ToolsThe Next Generation of Teaching and Learning Tools
The Next Generation of Teaching and Learning ToolsCharles Severance
 
Standards to Enable an Open Learning Ecosystem
Standards to Enable an Open Learning EcosystemStandards to Enable an Open Learning Ecosystem
Standards to Enable an Open Learning EcosystemCharles Severance
 
Updated Version: Tsugi Overview
Updated Version: Tsugi OverviewUpdated Version: Tsugi Overview
Updated Version: Tsugi OverviewCharles Severance
 
Standards Update: Apereo 2015
Standards Update: Apereo 2015Standards Update: Apereo 2015
Standards Update: Apereo 2015Charles Severance
 
Apereo 2015: The State of Sakai
Apereo 2015: The State of SakaiApereo 2015: The State of Sakai
Apereo 2015: The State of SakaiCharles Severance
 
The Trials and Tribulations of Predicting the Future of Educational Technology
The Trials and Tribulations of Predicting the Future of Educational TechnologyThe Trials and Tribulations of Predicting the Future of Educational Technology
The Trials and Tribulations of Predicting the Future of Educational TechnologyCharles Severance
 
MOOCs – The Future Is Getting Clearer
MOOCs – The Future Is Getting ClearerMOOCs – The Future Is Getting Clearer
MOOCs – The Future Is Getting ClearerCharles Severance
 
Programming for Everybody in Python
Programming for Everybody in PythonProgramming for Everybody in Python
Programming for Everybody in PythonCharles Severance
 

More from Charles Severance (20)

Hierarchy requirements
Hierarchy requirements Hierarchy requirements
Hierarchy requirements
 
Sakai Hierarchy Framework Changes Overview (not implemented)
Sakai Hierarchy  Framework Changes Overview (not implemented)Sakai Hierarchy  Framework Changes Overview (not implemented)
Sakai Hierarchy Framework Changes Overview (not implemented)
 
Exploring the Next Generation Digital Learning Ecosystem
Exploring the Next Generation Digital Learning EcosystemExploring the Next Generation Digital Learning Ecosystem
Exploring the Next Generation Digital Learning Ecosystem
 
Exploring the Next Generation Digital Learning Environment with Tsugi
Exploring the Next Generation Digital Learning Environment with TsugiExploring the Next Generation Digital Learning Environment with Tsugi
Exploring the Next Generation Digital Learning Environment with Tsugi
 
Beyond MOOCs: Open Education at Scale
Beyond MOOCs: Open Education at ScaleBeyond MOOCs: Open Education at Scale
Beyond MOOCs: Open Education at Scale
 
Building the Next Generation Teaching and Learning Environment
Building the Next Generation Teaching and Learning EnvironmentBuilding the Next Generation Teaching and Learning Environment
Building the Next Generation Teaching and Learning Environment
 
CloudSocial: A New Approach to Enabling Open Content for Broad Reuse
CloudSocial: A New Approach to Enabling Open Content for Broad ReuseCloudSocial: A New Approach to Enabling Open Content for Broad Reuse
CloudSocial: A New Approach to Enabling Open Content for Broad Reuse
 
Next Generation Teaching and Learning
Next Generation Teaching and LearningNext Generation Teaching and Learning
Next Generation Teaching and Learning
 
Next Generation Teaching and Learning
Next Generation Teaching and LearningNext Generation Teaching and Learning
Next Generation Teaching and Learning
 
The Game of MOOCs
The Game of MOOCsThe Game of MOOCs
The Game of MOOCs
 
A View on the Future of Sakai
A View on the Future of SakaiA View on the Future of Sakai
A View on the Future of Sakai
 
The Next Generation of Teaching and Learning Tools
The Next Generation of Teaching and Learning ToolsThe Next Generation of Teaching and Learning Tools
The Next Generation of Teaching and Learning Tools
 
Standards to Enable an Open Learning Ecosystem
Standards to Enable an Open Learning EcosystemStandards to Enable an Open Learning Ecosystem
Standards to Enable an Open Learning Ecosystem
 
Updated Version: Tsugi Overview
Updated Version: Tsugi OverviewUpdated Version: Tsugi Overview
Updated Version: Tsugi Overview
 
Standards Update: Apereo 2015
Standards Update: Apereo 2015Standards Update: Apereo 2015
Standards Update: Apereo 2015
 
Apereo 2015: The State of Sakai
Apereo 2015: The State of SakaiApereo 2015: The State of Sakai
Apereo 2015: The State of Sakai
 
The Trials and Tribulations of Predicting the Future of Educational Technology
The Trials and Tribulations of Predicting the Future of Educational TechnologyThe Trials and Tribulations of Predicting the Future of Educational Technology
The Trials and Tribulations of Predicting the Future of Educational Technology
 
MOOCs – The Future Is Getting Clearer
MOOCs – The Future Is Getting ClearerMOOCs – The Future Is Getting Clearer
MOOCs – The Future Is Getting Clearer
 
Programming for Everybody in Python
Programming for Everybody in PythonProgramming for Everybody in Python
Programming for Everybody in Python
 
Tsugi Workshop @ Notre Dame
Tsugi Workshop @ Notre DameTsugi Workshop @ Notre Dame
Tsugi Workshop @ Notre Dame
 

Recently uploaded

Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxsqpmdrvczh
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 

Recently uploaded (20)

Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 

LTI Advantage: The Next Big Thing in LMS Integration

  • 1. LTI Advantage: The Next Big Thing in LMS Integration Charles R. Severance University of Michigan School of Information
  • 2.
  • 3.
  • 4.
  • 5. Do Your Own Demo • Student - https://dev1.sakaicloud.com/ • Make an account • Home-> Membership - join the site "Apereo Webinar" • Lessons -> LMS Test (test.tsugicloud.org) • Instructor • Make a site Home -> Worksite Setup - Add Lessons and Gradebook • Lessons -> App Learning App -> Tsugi Store
  • 10. This is the technical talk
  • 11. LTI Advantage Technology • New Java Web Token / OpenID Connect / PKI launch – LTI 1.3 • LTI 1.3 Launch • Deep Linking Launch (Formerly Content Item) • OAuth 2.0 Services • Auto-created grade column (like LTI 1.1) • Members and roles (roster service) • Outcomes Service (tools can make new columns in the gradebook) • Unprecedented effort to simultaneously release by the "big five" LMS vendors
  • 12. Browser Platform Tool LTI 1.3 / Deep Linking Launch Open ID Connect Initiation Open ID Connect Response LTI 1.3 Launch JWT / PKI Target_link_uri LMS Test Keyset URL Tool Redirect Endpoint OIDC Initialization
  • 13. PKI – Public Private Keys • LTI 1.1 Used a shared secret for launches and services • LTI Advantages uses a pair of Public/Private keys for each message flow • Setup is more complex • Excellent libraries in Java • Sample code: basiclti/tsugi-util/src/test/org/tsugi/lti13/LTI13PKITest.java
  • 14.
  • 15.
  • 16. JSON Web Tokens - JWTs • A serialization and signing pattern for exchanging structured JSON • https://jwt.io/ • Excellent libraries in Java • Sample code: basiclti/tsugi-util/src/test/org/tsugi/lti13/LLTI13JJWTTest.java
  • 17.
  • 18. PKI Key Rotation • When the JWT is signed with a "kid", the public key to verify the message is looked up using a keyset url • Clever tools cache the kid / public key until the kid changes on a message
  • 19. LTI 1.3 Launch • JSON "claims" in a Java Web Token signed with a public key • LMS (Platform) has a private key and shares the public key widely • Key rotation is possible using kid • Java Web Tokens • Like the LTI 1.x "base string" • Serialization and signatures • Sample code: basiclti-common/src/java/org/sakaiproject/basiclti/util/SakaiBLTIUtil.java
  • 20.
  • 21.
  • 22. OAuth 2.0 Services • Server to server variant of three legged SSO • Tool has a private key and shares its public key with the LMS • Tool uses message signed with public key to request a "short-lived" token – API token is with API calls to services • When the token expires (an hour usually) the tool must re-request • Tokens have "scopes" – like an AUTHZ grant • Excellent library support in Java for OAuth 2.0
  • 23. Platform Tool Names and Roles / Outcomes Services Token Request JWT / PKI Token end point Service Service Service Token Token Token Token
  • 24.
  • 25. Code for Tokens • Tsugi: Getting an access token • tsugi/lib/src/Util/LTI13.php (418) • Sakai: Producing an Access Token • basiclti-blis/src/java/org/sakaiproject/lti13/LTI13Servlet.java (1533) • Tsugi: Using an access token • tsugi/lib/src/Core/Result.php (231) • tsugi/lib/src/Util/LTI13.php (122)
  • 26. Observations • Great cooperation between and amongst LMS vendors and Tool Vendors – this was essential to the success of LTI Advantage • There will be a lot of pressure from LMS Vendors • Away from proprietary LMS APIs where LTI Advantage is sufficient • Away from LTI 1.1 • Good news and bad news • The basics of LTI Advantage is surprisingly easy when you have sample code • There will be a lot of lousy LTI Advantage Tool implementations (ad for Tsugi) • SASSifying of the commercial LMS vendors is a complicating factor
  • 27. Transition Issues • Good news and bad news • The basics of LTI Advantage is surprisingly easy when you have sample code • There will be a lot of lousy LTI Advantage Tool implementations (ad for Tsugi) • Commercial LMS vendors are getting SASSier • This will make it harder on tools • Integrations will happen "above" institutions and be selected by institutions • Sakai (and I think Moodle) have a very smooth LTI 1.1 -> LTI 1.3 transition path
  • 28. We are about two years away from the dawn of the real NGDLE