Skip to content

Instantly share code, notes, and snippets.

@jen-k
Last active November 21, 2023 16:10
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jen-k/73e5dae57526ecf73d8475e2f59a3f9a to your computer and use it in GitHub Desktop.
Save jen-k/73e5dae57526ecf73d8475e2f59a3f9a to your computer and use it in GitHub Desktop.

Student verification API

Students at your school can quickly claim their GitHub Education benefits by visiting a unique web address. By visiting that address, GitHub will verify the student's academic status with your school and instantly deliver their benefits to them.

This document details how to generate signature links for giving students access to education tools.

Credentials

The school administrator will need some credentials provided by GitHub:

  • school_id
  • secret_key

and credentials to be provided by the school administrator:

  • student_id

Generating the link

The user can then use the credentials above to visit:

https://education.github.com/student/verify/generate?school_id=<school id>&student_id=<student id>&secret_key=<secret key>

>> "https://education.github.com/student/verify?school_id=22&student_id=1234&signature=92053620a059b89eb434b643c218e09737257e1931c17ad02c8122182f436bdd"

for each student_id they need to give access to.

This can also be automated by using curl:

curl -X GET https://education.github.com/student/verify/generate?school_id=<school id>&student_id=<student id>&secret_key=<secret>

>> "https://education.github.com/student/verify?school_id=22&student_id=1234&signature=92053620a059b89eb434b643c218e09737257e1931c17ad02c8122182f436bdd"

or get a json object back:

curl -X GET https://education.github.com/student/verify/generate?school_id=<school id>&student_id=<student id>&secret_key=<secret> -H "Accept: application/json" -H "Content-Type: application/json"

>> "{\"url\":\"http://education-test.com/student/verify?school_id=22\\u0026student_id=1234\\u0026signature=92053620a059b89eb434b643c218e09737257e1931c17ad02c8122182f436bdd\"}"

What students should expect

When a student receives their unique web address from your school, they can visit that address in any web browser. If they are already signed into GitHub on that browser, they’ll see a GitHub Education web page confirming that they’ve been verified.

screen shot 2018-07-09 at 10 11 02 am

If they’re not yet signed in, the student will simply be asked to sign in before seeing the confirmation web page.

A student should not be asked to apply for the GitHub Student Developer Pack after clicking this link. If they are directed to the application page after clicking their unique link, that means there is an error.

@technologia-academy
Copy link

Hello ,

Is there a way to explain how to use this API?

thanks .

@jen-k
Copy link
Author

jen-k commented Sep 7, 2021

Hello @technologia-academy - you can contact Campus Program Support for assistance.

@cedriclombardot
Copy link

Hello,

Where i could find student_id ?

@Dangeranger
Copy link

@cedriclombardot the student_id should come from your internal database or learning platform, it is not provided by Github.

@cedriclombardot
Copy link

cedriclombardot commented Dec 17, 2021 via email

@aminecodes
Copy link

Hello Jen, could you please confirm if this is still working?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment