Comment 7 for bug 1533377

Revision history for this message
Aaron Wells (u-aaronw) wrote :

It looks like PassportJS is actually a general-purpose authentication middleware library, implemented in NodeJS. Much like Mahara's Auth plugin system, PassportJS lets you install plugins (called "strategies") to authentication with different sources that might be a specific site like Facebook, or a generic protocol like SAML; and then the NodeJS application developer can authenticate using a simple and consistent PassportJS API instead of having to write a specific handler for that auth method.

Unfortunately, it's not directly applicable to us in Mahara, because it's written in NodeJS not PHP. We do use NodeJS for compiling our CSS now (via gulp), but that's command-line Node scripts only during the build stage, whereas this is using Node as part of your web application.

Also unfortunately, because PassportJS is so flexible, it doesn't tell us much about what specific authentication providers they're going to replace Persona with, or how they're going to go about migrating users to them. But maybe we'll see some specifics on that if we keep watching.