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)
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.
To implement this option, you need to contact the Stepik team (firstname.lastname@example.org).
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.
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 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).
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):
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/title-ID or stepik.org/lesson/title-ID).