Deep Link Support

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.

Important Advisory
  • 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.

Public Dashboard Requirement

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:

  1. User follows Deep Link.
  2. User is authenticated by the IDP.
  3. 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:

  1. User follows Deep Link.
  2. User is authenticated by the IDP.
  3. 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:

  1. User follows Deep Link.
  2. User is authenticated by the IDP.
  3. User lands on the specific LMS page contained in the Deep Link..
Was this article helpful?
2 out of 3 found this helpful

Comments

0 comments

Article is closed for comments.