Deep Links direct Learners to a specific page within the LMS, provided the User is logged into the LMS and has access to the page that they are being directed to. This article explains the Deep Links that are available to you and how to create them. If you are using SSO, this article will also explain how to encode SSO into the Deep Link.
- Learners must be logged in and have permissions to access the page that the deep link is sending them to. If they do not have access, they will be directed to their Learner Dashboard. This is something to keep in mind particularly with Availability Rules when deep linking to a Course.
- For Portal IDs, please make sure to change the domain to your specific region. ex: myabsorb.CA/.EU/.COM.AU/.CN. The examples given in this article use .COM
- At this time, we do not support deep linking as a part of OpenIdConnect SSO.
Login/Logout Methods
Please note that the following methods are not intended for secure information, and should only be used with non-private details.
Enrollment Key
The following link will bypass the Enrollment Key Name entry screen. New Users will be directed to the signup page, while logged in Users will be enrolled in any Courses offered by the Enrollment Key.
This link can also be found on the Enrollment Key page as the "Direct Link URL".
https://yourdomain.myabsorb.com?keyname=enrollmentkeyname
Log out
The following link will log a User out of Absorb LMS.
https://yourdomain.myabsorb.com/#/logout
Automation
These Deep Links will interact with a system setting so as to set something by default, or as a page is loaded.
Set the Learner Interface Language
The following link will translate the Learner Interface and ensures that the Language is updated as per the Deep Link. Note that this link will only work with the available Languages specified in your Portal Settings.
The language-code will be a 2 character ISO 639-1 value (EN, FR, ES, etc.).
https://yourdomain.myabsorb.com?Language=languagecode
Course Related Links
The Deep Links in this section direct Users to content such as Online Courses or Curricula.
Online Course Page
The following link will take Users to a specific Online Course page. Courseid can be found in the Courses report.
https://yourdomain.myabsorb.com/#/online-courses/courseid
Instructor-Led Course Page
The following link will take Users to a specific ILC page. Courseid can be found in the Courses report.
https://yourdomain.myabsorb.com/#/instructor-led-courses/courseid
Curriculum Page
The following link will take Users to a specific Curriculum page. Courseid can be found in the Courses report.
https://yourdomain.myabsorb.com/#/curricula/courseid
Launch a Lesson
The following link will open a Course and launch a particular Lesson within it. This link also allows a check for Prerequisites (i.e., Terms & Conditions, Course Prerequisites, Proctor Login, etc.)
Courseid can be found in the Courses report.
Lessonid can be found in the Lessons report.
https://yourdomain.myabsorb.com/#/online-course-player/courseid?lessonId=lessonid
Courses List
The following link will take Users to their Courses page, listing all of the Courses they are currently enrolled in.
https://yourdomain.myabsorb.com/#/courses
Courses List (Category)
The following link will take Users to a specific Category in their Courses page. Categoryid can be found in the Manage Categories report.
https://yourdomain.myabsorb.com/#/catalog/categoryid
Catalog
The following link will take Users to their Catalog page, listing all of the Courses available for enrollment or purchase.
https://yourdomain.myabsorb.com/#/catalog
Catalog (Category)
The following link will take Users to a specific category in their Catalog page. Categoryid can be found in the Manage Categories report.
https://yourdomain.myabsorb.com/#/catalog/categoryid
Navigation & Filtering
The following link will take Users to the Search page using a specific search term. Additionally, you may modify the search be specifying the type of content you are looking for.
EX: OnlineCourse, InstructorLedCourse, Curriculum, CourseBundle, GlobalResource, NewsArticle, Poll.
https://yourdomain.myabsorb.com/#/search/all?entityType=OnlineCourse,InstructorLedCourse
Filtering for multiple content types, and a search term.
https://yourdomain.myabsorb.com/#/search/all?entityType=entityType&term=searchterm
Filtering by Course Rating.
EX: OneAndUp, TwoAndUp, ThreeAndUp, FourAndUp.
https://yourdomain.myabsorb.com/#/search/all?courseRating=rating
Global Resources
The following link will take Users to their Global Resources page, listing all of the Global Resources available to them.
https://yourdomain.myabsorb.com/#/resources
Calendar
The following link will take Users to their Calendar page.
https://yourdomain.myabsorb.com/#/courses?viewType=Calendar
Transcript
The following link will take Users to their Transcript page.
https://yourdomain.myabsorb.com/#/transcript
FAQs
The following link will take Users to their FAQs page.
https://yourdomain.myabsorb.com/#/faq
News
The following link will take Users to their News page (Absorb Engage only).
https://yourdomain.myabsorb.com/#/news
Polls
The following link will take Users to their Polls page (Absorb Engage only).
https://yourdomain.myabsorb.com/#/polls
Search
The following link will take Users to the Search page using a specific search term.
https://yourdomain.myabsorb.com/#/search/all?term=searchterm
E-Commerce
The following Deep Links interact with the E-Commerce functionality.
Please advise that some E-Commerce Deep Links require the Public Dashboard to be turned on, and accessible to function as intended. As an example, the Public Dashboard is not required to be enabled for AddToCart links but it is required by the Categories Deep Link.
Purchase
The following link will take new or logged out Users to the Purchase page, listing all of the Courses available for Public Purchase prior to sign-in or sign-up.
https://yourdomain.myabsorb.com/#/catalog
Purchase (Category)
The following link will take new or logged out Users to a specific Category in the Purchase page. Categoryid can be found in the Manage Categories report.
https://yourdomain.myabsorb.com/#/purchase/category/categoryid
Purchase (Department)
The following link will take new or logged out Users to a specific Category on the Purchase page and it can accommodate additional pages/views not just for the catalog/checkout process. Variable pricing and Department specific Course availability can be provided on the Dashboard using the below deep link. Categoryid can be found in the Manage Categories report.
https://yourdomain.myabsorb.com/?departmentId=departmentId
Variable Pricing and Department specific Course availability can also be provided in the Catalog using the below Deep Link.
https://yourdomain.myabsorb.com/?departmentId=departmentId#/catalog
Purchase (Department + Category)
The previous two links can be combined to take new or logged out Users to a specific Category on the Purchase page while also offering Department specific Variable Pricing.
https://yourdomain.myabsorb.com/?departmentId=departmentid#/catalog/categoryid
Add Course(s) to Cart via Deep Link
An unauthenticated User can add Course(s) to their cart via Deep Link. We verify the User meets the availability rule requirements before adding the Course to the cart. Multiple Course types can be added via a single Deep Link.
Up to 5 Courses can be added to the cart via the Deep Link; only single seat purchases are allowed for each Course. Formatting for the Deep Link(s) are as follows:
Adding a Single Course
https://yourdomain.myabsorb.com/#/AddToCart?CourseIds=GUID
Adding an ILC with a Session
https://yourdomain.myabsorb.com/#/AddToCart?CourseIds=ILCGUID>SessionGUID
Adding Multiple Courses
https://yourdomain.myabsorb.com/#/AddToCart?CourseIds=GUID,GUID,GUID,GUID,GUID
Encoding SSO Authentication
If a User is authenticated via SSO and then follows a Deep Link, they should be taken to the LMS page as expected. If a User is not authenticated and then follows a Deep Link, the behavior will be different based on the Mode selected in your SSO Settings. Those differences are detailed below.
Deep Links with Service Provider Initiated SSO
Normal Deep Links will work as expected if your SSO is properly configured to use Service-Provider Initiated SSO. You can check this by reviewing your SSO Settings within Absorb. The Mode should be set to Service Provider Initiated and the Login URL should be populated with the correct endpoint for SAML requests.
Given the above configuration, the following order of operations will occur:
- User follows Deep Link.
- User is authenticated by the IDP.
- User lands on the specific LMS page contained in the Deep Link.
Deep Links with Identity Provider Initiated SSO
If your SSO is configured as Identity Provider Initiated, normal Deep Links will not work for unauthenticated Users. After the User is authenticated, they will be directed to the Dashboard page. If a User accesses a Deep Link the following order of operations are expected with Identity Provider Initiated SSO:
- User follows Deep Link.
- User is authenticated by the IDP.
- User lands on the Dashboard.
If you want the SSO process to retain the LMS destination throughout the authentication process, you will need to update the Deep Link to append a RelayState. The recommended process is described below. Please advise this process may not work for all SSO configurations and IDPs.
IDP SSO Abiding Deep Links
To create an IDP SSO abiding Deep Link, first select the Deep Link you want to use. We will use the following example:
https://company.myabsorb.com/#/online-courses/4d14c306-c7ed-4554-b421-f729fba3a9e3
Next, the URL must be encoded. When working with IDP SSO, URLs must be encoded to ensure they are correctly interpreted and processed. The reasons for encoding are as follows:
- Special Characters: URLs often contain special characters (like `&`, `=`, `?`, etc.) that have specific meanings in URLs. If these characters are not encoded, they can be misinterpreted by the IDP, leading to errors or incorrect processing.
- Security: Encoding helps prevent injection attacks by ensuring that any special characters in the URL are treated as data rather than executable code.
- RelayState Parameter: The RelayState parameter is used to maintain state information between the Service Provider (SP) and the IDP. It often contains a URL or other data that needs to be passed back and forth during the authentication process. If the RelayState value is not properly URL-encoded, it may not be correctly retained or interpreted, causing the user to land on an unexpected page or encounter errors.
URL encoding ensures that the URL and any parameters, including the RelayState, are correctly and securely processed by the IDP during the SSO process.
To encode the Deep Link, you can use a site like: urlencoder.org
Once our example Deep Link has been encoded, it looks like:
https%3A%2F%2Fcompany.myabsorb.com%2F%23%2Fonline-courses%2F4d14c306-c7ed-4554-b421-f729fba3a9e3
Next find the Login URL for your SSO configuration. This is a field available on the SSO Settings page that would be configured when your SSO was setup.
For example:
https://company.idp.com/home/absorblms/test/1234
Append the URL encoded Deep Link to the end of the Login URL, inserting &relaystate=
between them. Our example ends up looking like this:
https://company.idp.com/home/absorblms/test/1234&relaystate=https%3A%2F%2Fcompany.myabsorb.com%2F%23%2Fonline-courses%2F4d14c306-c7ed-4554-b421-f729fba3a9e3
Using a deep link modified this way in a IDP SSO setup will result in the following order of operations:
- User follows Deep Link.
- User is authenticated by the IDP.
- User lands on the specific LMS page contained in the Deep Link..
Comments
Article is closed for comments.