Skip to content

SheerID API for educator verification

Bryan Eli edited this page Oct 13, 2020 · 10 revisions

SheerID is a third-party service that we use for verifying real identities and roles of our users (educators, not students). We use SheerID in three ways:

  1. an iframe hosted on their servers which we load in Step 3 of the Educator signup flow,
  2. a webhook endpoint to which SheeerID posts any and all updates about our users after they submit the form in the iframe,
  3. an API from which we gather detailed information about users who submitted the form in the iframe.

The way that SheerID lets us know when there is a new user in the verification process is by making a POST request to an endpoint as a webhook—handled in Accounts by the EducatorSignup::SheeridWebhook class which is a Lev handler. SheerID sends us a verificationId, and then using that, we make a request to SheerID's API requesting more details (verification_details = SheeridAPI.get_verification_details(verification_id))

In the ideal scenario, our users are instantly verified by SheerID, in which case the user's SheerID verification currentStep will be "success". At that point, the VerifyEducator class handles the request.

What EducatorSignup::VerifyEducator does is it gets the user's verification details. That is, the:

  • currentStep (either "success" or "docUpload" or "rejected"
  • firstName
  • lastName
  • email
  • organization.name
Clone this wiki locally