I’m using Persona to handle authentication for badges. This is largely because that’s what Mozilla open badges use. However it does mean that I can avoid storing any identifiable data, even though I have to host the assertion evidence that open badges needs to prove that a particular person has been awarded a particular badge. Here’s how.
- Scriptdb – Keeps all data about badges, questions, collections of things to go together. In a (likely separate) scriptDB, the awards data is kept. When someone takes a test and achieves a passmark an award is registered in scriptdb, and control is given to Mozilla to add a badge to the backpack associated with the current Persona Login. It is important to note that no email addresses or any other identifier is stored here. I’ll describe later how the association is made.
- Google apps script – In addition to the method for creating the badge environment from a spreadsheet , there are another couple of important apps script web applications. The badgeOrganizer serves up information about the badge environment and the assertionManager maintains the awards scriptdb. The assertion manager provides data about an award to the Mozilla backpack environment on demand, but it works through a php proxy to avoid cross domain restrictions. It also updates the awards scriptdb when a badge is awarded.
- PHP – for security reasons openbadges and persona need to interact with server based functions. Signin, signout and integration with open badges all happen through some trivial php code.
assertionManager Library code.
For help and more information join our forum, follow the blog or follow me on Twitter .