ClassLink provides single sign-on (SSO) solutions for educational applications. ClassLink's services (which include Launchpad, OneSync, and Roster Server) are built on the OneRoster standard.

In addition to our LMS integrations, Edlink supports connections between applications and ClassLink. When we talk with others in edtech about ClassLink, we're frequently asked about how ClassLink works and how the OneRoster standard fits into the picture. Below, we'll discuss ClassLink, it's services, and OneRoster.

What is OneRoster?

Before we hop into ClassLink, let's take a look at OneRoster®. OneRoster is a standard from the IMS Global Learning Consortium® (the same organization responsible for the LTI® standard). OneRoster is designed to provide a standardized method of transferring SIS data between two OneRoster-compliant systems. This data includes information such as the names and email addresses of students and teachers, course data, enrollments, and grades.

OneRoster v1.1 was developed as a subset of the Learning Information Services (LIS) standard, designed specifically for K12. Platforms that support the OneRoster standard do so through the OneRoster API and/or standardized CSV files.

Roster Server is ClassLink's implementation of a OneRoster server. Schools that work with ClassLink will install Roster Server as a virtual server on their network or in the cloud. School administrators then either directly connect their student information system (SIS) to Roster Server through the OneRoster API or upload CSV templets into Roster Server that are formatted in the OneRoster specification.

When school administrators connect to an application on ClassLink, the school's Roster Server will export their enrollments to the application through the OneRoster standard. Though it's not required, many applications will use this data through ClassLink Launchpad in order to provision accounts for users and enable single sign-on.

Launchpad is an SSO application developed by ClassLink. Launchpad acts as a portal that school admins can setup so their students and teachers can access multiple apps with a single set of credentials.

Users log into ClassLink Launchpad using a variety of methods, including an email address and password combination, Google account, and SAML through Microsoft Active Directory.

Most schools that use Launchpad have a custom subdomain that is customized for their users. When users access the custom subdomain, they will only see sign in options that are relevant for their school. Typically, launchpad connects to a school's Roster Server. Launchpad then provisions accounts through OneRoster like any other application would. Note that school admins can also add users to their school's Launchpad portal who are not included in the school's OneRoster data.

When a user clicks on an application's icon in Launchpad, it usually initiates the OAuth 2.0 process with the app. Launchpad sends the user to the app (to the URL that was specified) with an authorization code. The app then exchanges the authorization code for tokens so you know who the Launchpad user is. Note that the app does not see a school's OneRoster data when a user signs in through Launchpad; the app only sees the user's Launchpad data. This can be a problem if the app needs to know where the user is coming from (e.g. which school or district they belong to).

ClassLink has a property on the user object, called SourceID. This property can be null or a string. If the SourceID is null, the user was not imported rom OneRoster, which means that you can't determine where the user came from. If the SourceID is set, then you do know that the user is tied to a record in the school's OneRoster data. Edlink apps that integrate with ClassLink require that schools support OneRoster (i.e. the SourceID must not be null when a user comes from Launchpad).

Once you’ve implemented SSO with ClassLink Launchpad and/or rostering from OneRoster, you can schedule a time with ClassLink to become certified. Once certified, your app will show up in the main library and it becomes easier for administrators to install your app.

During the certification process, ClassLink will grant you access to a test district and confirm that your app is working as expected. The ClassLink certification team will ask you a number of questions about edge cases that your app might encounter (e.g. if users can be in multiple classes or multiple schools). This certification process takes about one hour and is with a number of members from the ClassLink certification team.

If you want to get started developing a ClassLink-compatible application, you should review ClassLink's developer documentation. The developer guides provide information about ClassLink's API and how to setup an OAuth 2.0 or OneRoster application in the ClassLink developer dashboard.  You'll also have to create a Classlink developer account at dev.classlink.com.

If you need help getting started with ClassLink or OneRoster, our team would be more than happy to talk with you! We work with several clients to get them up and running with ClassLink. The Edlink API and platform can help you connect to ClassLink and integrate with a variety of other systems, such as Canvas, Microsoft Teams, and Schoology, at the same time. If you'd like to know more, reach out to us at accounts@ed.link or send us a message on our support page.

OneRoster® and Learning Tools Interoperability® (LTI®) are trademarks of the IMS Global Learning Consortium, Inc. (www.imsglobal.org)