You can embed Stepik lessons and courses on your website or learning platform:
Option 1 (iframe)
You can embed Stepik lessons on the page of another site using iframe.
Look at the sample test page: https://stepik.org/embed-test. Enter /course ID (for example, /2) in the field and click the Test button.
You can find course ID in course URL: https://stepik.org/course/CourseID/syllabus.
Option 2 (OAuth 2 provider)
OAuth 2 is a protocol allowing for authorization at your platform via Stepik account.
Stepik has OAuth 2 provider (https://tools.ietf.org/html/rfc6749).
If necessary, you can connect the registration/login to stepik.org through your OAuth 2 provider.
The protocol provides a secure way to exchange personal information, saves having to trust an application with your login and password, as well as makes it possible to give restricted rights.
Stepik itself supports OAuth 2 authorization via VK, Google and GitHub.
If you want to set authorization via Stepik at your platform, you can learn more on the setup process here https://github.com/StepicOrg/Stepik-API#oauth-2.
If you have any questions on this subject, contact us at support@stepik.org or through https://support.stepik.org/hc/en-us/requests/new.
Option 3 (LTI)
Stepik platform supports Learning Tools Interoperability protocol (IMS LTI 1.1) as a learning tool.
Therefore, it can be integrated into most educational platforms (they usually support LTI protocol as a learning platform), including but not limited to: Blackboard LMS, Instructure Canvas, Moodle, Sakai, Desire2Learn, Open edX, Coursera and others.
The LTI-integration is available for Enterprise courses.
What is LTI
(Information source: IMS Global)
Learning Tools Interoperability® (LTI®) is a specification developed by IMS Global Learning Consortium. The principal concept of LTI is to establish a standard way of integrating rich learning applications (often remotely hosted and provided through third-party services) with platforms like learning management systems, portals, learning object repositories, or other educational environments. In LTI these learning applications are called Tools (delivered by Tool Providers) and the LMS, or platforms, are called Tool Consumers.
The basic use case behind the LTI is to allow the seamless connection of web-based, externally hosted applications and content, or Tools (from simple communication applications like chat, to domain-specific learning environments for complex subjects like math or science) to platforms that present them to users.
Read more about LTI protocol on http://www.imsglobal.org/activity/learning-tools-interoperability and on https://www.edu-apps.org/code.html.
Stepik LTI
Stepik supports LTI version 1.1 (most popular). Your educational platform can:
1. Securely launch and authenticate your user into Stepik.
2. Securely pass user's grade back to your platform from Stepik (course grade).
Setup
To set up LTI, you need to specify two arbitrary keys – consumer key and secret key. They should be the same on both ends – within the LTI tool (Stepik) and within the LTI platform (your another platform).
Stepik side looks like that (course or lesson permission settings page):
Your platform side may look like that (below is a screenshot from the old Coursera platform):
Other platforms configuration: Canvas, Moodle, Blackboard, Sakai, Desire2Learn.
Besides of two keys (consumer and secret), you need to specify the following settings within your platform:
LTI url: https://stepik.org/lti/
LTI privacy: public (email and name)
LTI custom parameters (sometimes also called "optional preferences"): either course=ID or lesson=ID. Where ID is your course or lesson integer ID, which can be found in the URL (as stepik.org/course/ID or stepik.org/lesson/ID).