All documentation

Implementation

LMS integration and institutional sign-in

How LingoQuesto connects with Moodle, Brightspace, Canvas or Blackboard through LTI 1.3, what sign-in options exist and what the institution needs to provide to enable them.

Updated

Summary

There are three ways to bring teachers and students into LingoQuesto, and they can be combined:

  • From the LMS, through LTI 1.3. The user clicks a link in their course and arrives already authenticated, with no extra password.
  • With their institutional account from Microsoft or Google.
  • Without integration. Email invitations, uploading students from a file, or a class code.

The institution doesn’t install software, doesn’t open its database and doesn’t hand over passwords.

Sign-in

Method Availability Notes
Microsoft account (Microsoft 365, Entra ID) Available Works for any organization, with no per-customer configuration.
Google account (Google Workspace) Available
Sign-in from the LMS (LTI 1.3) Available The LMS has already authenticated the user; LingoQuesto verifies the LMS signature.
Email and password Available Password of at least 8 characters.
The institution’s own SAML 2.0 Not available The first three options cover the same use case.

Second authentication factor

LingoQuesto doesn’t manage its own second factor. When the user signs in with their Microsoft or Google account, or from the LMS, the second factor and access policies the institution already has in its identity provider apply. This is the recommended option for institutions that require multi-factor authentication.

Permissions requested at sign-in

Provider Permissions Data received
Microsoft openid, email, profile and User.Read Identifier, email, first name and last name
Google email and profile Identifier, email, first name, last name and the profile photo address

If the organization restricts app consent in Microsoft Entra ID, its administrator must approve the LingoQuesto application once.

LTI 1.3 integration

LTI 1.3 is the standard LMSs use to connect external tools. The LMS administrator registers LingoQuesto only once; after that, any teacher can add the link to their courses.

When a user opens that link:

  1. The LMS tells LingoQuesto who the user is, which course they are in and with what role, and signs that information.
  2. LingoQuesto verifies the signature with the LMS’s public keys.
  3. If it’s the first time, the account is created and enrolled in the class that corresponds to that course.
  4. The user lands inside the platform without seeing a sign-in form.

Compatibility

LMS Status
Moodle Tested end to end.
D2L Brightspace, Canvas, Blackboard Learn, Schoology, Sakai, Open edX Compatible by standard. The first institution on each LMS is enabled with a short pilot.
Google Classroom Does not implement LTI 1.3. Users can sign in with their Google account.

Class roster

If the LMS has the Names and Role Provisioning Services enabled, the course roster is synced each time someone opens LingoQuesto from that course. There is no scheduled or manual sync.

  • Accounts are created and enrolled in the class for all active members of the course, even if they haven’t signed in yet.
  • Removing someone in the LMS doesn’t remove that person from the class in LingoQuesto. The teacher or the administrator removes them from the platform.

What the integration doesn’t do

  • It doesn’t send grades to the LMS gradebook. Grades are viewed and exported from LingoQuesto.
  • It doesn’t let you choose a specific activity from the LMS. The link leads to the platform, and the student finds their assignments there.

Data the institution receives from LingoQuesto

The administrator uses this data to register the tool in the LMS.

Field Value
Domain lti.lingoquesto.com
Login URL (OIDC) https://lti.lingoquesto.com/lti/login
Launch and redirect URL https://lti.lingoquesto.com/lti/launch
Public keys (JWKS) https://lti.lingoquesto.com/.well-known/jwks.json

Data LingoQuesto receives from the institution

These are the values the LMS shows when registration is complete.

Field Description
Issuer The LMS’s public address
Client ID The one the LMS assigns to LingoQuesto
Deployment ID The one for the deployment created for the tool
OIDC authentication URL Where LingoQuesto redirects to start the session
Token URL To request access to the class roster
LMS public keys (JWKS) To verify the signature of each launch

Personal data received through LTI

On each launch, LingoQuesto receives the user’s identifier in the LMS, their name, their email, their role and the course they came from. It doesn’t receive passwords or read any other course content. Each launch is logged so incidents can be diagnosed.

What we need from the institution

From the LMS administrator

  1. Which LMS the institution uses, which version, and whether it is hosted by the vendor or on the institution’s own servers.
  2. Who can register external tools and what the authorization process is.
  3. The registration of LingoQuesto with the data in this document, and the data the LMS provides when it’s done.
  4. A test course with one teacher and two students.
  5. The link configured to open LingoQuesto in a new tab. This prevents the browser from denying microphone access to an embedded tool.
  6. The Names and Role Provisioning Services enabled, if you want the class roster synced.

From the identity administrator

  1. Confirm that users can sign in with their institutional Microsoft or Google account.
  2. Approve the LingoQuesto application if the organization restricts app consent.

From the IT and network team

What is described in Technical and network requirements: allowed domains, WebSocket over port 443 and microphone access authorized on managed devices.