-
Notifications
You must be signed in to change notification settings - Fork 8
SheerID API for educator verification
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:
- an iframe hosted on their servers which we load in Step 3 of the Educator signup flow,
- a webhook endpoint to which SheeerID posts any and all updates about our users after they submit the form in the iframe,
- 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