At LearnUpon, we frequently speak to prospects requesting to see our Application Program Interface (API) documentation because they want to implement single sign-on (SSO). And we also encounter the reverse. We hear from prospects inquiring about SSO when their needs are more suited to uses of the API. While API and SSO can work really well together, they are in fact two very different tools. I’d compare it to the difference between a knife and fork. While the tools complement each other really well, they also serve VERY different purposes, and should be used to accomplish different tasks. In this post, I run through some of the main differences between how an API and SSO can be used to enhance the performance of your learning management system.
Single sign-on describes a single set of credentials that allows users to access multiple applications across your organization while only needing to log in once. In this scenario, users might arrive at work and log in to their workstation. If SSO has been implemented, they won’t need to log in again to access separate applications, including their LMS, during the day. Answer the questions below to decide if implementing SSO could work for you.
APIs and eLearning
An API provides an interface that allows developers to literally interact with programs and apps, including learning management systems. Each API has a set of credentials used by admins and developers that are known as keys. These keys are similar to a username and password pair that allows developers to use the API to interact with the data in your LMS. But ‘interact’ – say what? In this context, ‘interact’ describes actions such as creating, updating, deleting, or retrieving data.
An API can speed up processes by automating time-consuming manual steps. Without an API, an admin who wants to create a user in an LMS may need to log in, access the create user screen, fill in a form, and click save. Or instead, your developer can simply code an API to automatically create users based on rules relevant to your needs. Using the API like this frees admins from managing the process manually or via batch file uploads. It’s that simple!
A decent API can allow you to automate lots of other actions, like updating, deleting, or exporting lists of users. The API can allow you to create courses, enroll users on to courses, and get a list of their progress statuses, all automatically. This data can then be managed together in one central location. And you can use the data to build reports or keep users in sync.
Some customers use LearnUpon’s API to generate enrollments in courses from third-party apps. Some customers have also used the progress made by learners in LearnUpon to build gamification and leaderboards on third-party apps, making for a streamlined setup that’s easy to manage.
So, API or SSO? Answer 3 questions
Still unsure if you should implement an API or SSO? The following three questions will help you to decide if you should go with either, both, or neither types of integration.
Question 1: Do you need users to access your LMS without logging in?
If the answer is Yes, then you need SSO. Once you implement SSO, users will only need one set of credentials to access all applications. If you decide to use SSO in this context, you could include an “Access my Learning” button on your website or intranet. Once users click the button, they will be transported into the LMS to launch and complete their training, without needing to login again.
If the answer is No, then you do not need SSO. You may still need an API, depending on your answers to the two questions below. I’ll also go into SSO in more detail for those who require extra functionality or to use an API to further help with automation requirements.
Question 2: Do you need users from a separate system to be created in your LMS?
If the answer is Yes – Before we dive deeper into the API itself let’s consider a follow-up question: Did you need to implement SSO already? This question is worth considering because some systems, including LearnUpon, support simplified user synchronizations when implementing SSO. That means that SSO will not only seamlessly log users into the LMS, it can also provide additional settings that allow you to create or update users on the fly as well! That’s really neat because it means you might not even need to implement an API in order to sync users.
There are many varieties of SSO but one is SAML SSO, which is supported by LearnUpon. The SAML SSO module allows you to create or update users on the fly and automatically assign them to groups in LearnUpon, increasing the types of automation you can use to manage your user list. Before you jump into API, it’s worth asking your LMS vendor, or preferred third-party app, if they offer any type of user synchronization as part of their SSO modules.
If the answer is No, then you don’t need to use an API with SSO. You might still find an API useful for reasons discussed in our third question below.
Question 3: Do you need to push data into or pull data from your LMS?
Yes, you do! You may need, for example, to export enrollment statuses, training history, or other types of data. You might also need to manage user group memberships or user lists in other applications. Most LMS applications include reporting features that meet many of these needs. In LearnUpon, for example, we offer automated report scheduling, so you don’t need to remember to run reports! We email them directly to your inbox as required.
However, in some cases that level of functionality doesn’t quite cut it. You may still need to pull extra data and push it to external applications for further crunching. Perhaps you would like to pull lists of users and groups and send the data to a managerial meeting to inform team restructuring. The list of potential uses really is endless.
The question about whether to implement an API is all about automation. The most important point to remember is that implementing an API enables you to access data in an automated way, avoiding the need for administrators to login, search, and report on data in a manual fashion.
TL;DR rule of thumb
- SSO is for streamlining user experience when accessing other applications. It’s a set of single sign-On credentials associated with each user.
- API is all about data automation, keeping data in sync, and automatically pulling data out of a system to generate reports.
It is, and really should be, that simple. If it’s not, then you’re probably asking the wrong questions for your implementation and hopefully the above answers will help demystify some of the confusion for you.