Persona is no longer actively developed by Mozilla. Mozilla has committed to operational and security support of the persona.org services until November 30th, 2016.
On November 30th, 2016, Mozilla will shut down the persona.org services. Persona.org and related domains will be taken offline.
If you run a website that relies on Persona, you need to implement an alternative login solution for your users before this date.
For more information, see this guide to migrating your site away from Persona:
https://wiki.mozilla.org/Identity/Persona_Shutdown_Guidelines_for_Reliers
Want to use Persona on your website or blog? Implementing Persona from scratch is easy, but the plugins and libraries listed here might get you going faster!
This page lists three types of libraries:
1. Plugins that integrate Persona with existing frameworks and content management systems
2. Utility libraries that are useful when building new plugins or integrating Persona into a site from scratch
3. Everything else related to Persona, including libraries for turning your domain into a Persona Identity Provider
This is a community-maintained list. If you've created a library or plugin, please add it to this page.
Plugins
Clojure
- Noir: https://github.com/tmarble/nongrata
- ring / cemerick.friend / cljs: https://github.com/osbert/persona-kit
Cold Fusion
Haskell
Java
- Spring: https://github.com/webdetails/SpringSecurityBrowserID
- Lutece: https://dev.lutece.paris.fr/plugins/module-mylutece-persona/
JavaScript
- Mootools: https://mootools.net/forge/p/browserid
- jQuery: https://github.com/altryne/browserID-jQuery
Node.js
- Express: https://github.com/jbuck/express-persona
- Express / Jungles: https://npmjs.org/package/jungles-auth-persona
- Passport: https://github.com/jaredhanson/passport-browserid
- Express / connect - connect-auth: https://github.com/ciaranj/connect-auth
PHP
- CakePHP: https://github.com/overflow636/ofbid and https://github.com/markomarkovic/cakephp-plugin-persona
- Drupal: https://drupal.org/project/persona
- Joomla: https://extensions.joomla.org/extensions/access-a-security/authentication-cloud-based/18567
- Midgard MVC: https://github.com/midgardproject/midgardmvc_core/blob/master/services/authentication/browserid.php
- SPIP: https://www.spip-contrib.net/BrowserID
- Symfony2: https://github.com/Proxiweb/PersonaBundle, https://github.com/bitgrave/BGPersonaBundle, https://github.com/ahilles107/PersonaBundle
- WordPress / bbPress 2: https://wordpress.org/extend/plugins/browserid/
- MyBB: https://github.com/Rudloff/mybb-browserid
- DokuWiki: https://github.com/Rudloff/dokuwiki-browserid
- Dotclear: https://plugins.dotaddict.org/dc2/details/browserID
- Elgg: https://community.elgg.org/plugins/1154520/1.0/persona
Python
- CherryPy: https://bitbucket.org/jaraco/jaraco.persona
- Django: https://github.com/mozilla/django-browserid (see screencast)
- Django Social Auth: https://github.com/omab/django-social-auth/blob/master/social_auth/backends/browserid.py
- Django 1.5 and Python 3: https://github.com/mozillaperu/MozTanta-Persona
- Flask: https://pypi.python.org/pypi/Flask-BrowserID
- Google App Engine: https://github.com/psawaya/BrowserID-GAE
- Pyramid: https://www.rfk.id.au/blog/entry/painless-auth-pyramid-browserid/
- Pyramid: https://github.com/madjar/pyramid_persona/ (see blog post)
- Repoze: https://github.com/mozilla-services/repoze.who.plugins.browserid
- Tornado: https://www.peterbe.com/plog/integrate-browserid-in-a-tornado-web-app
- Twisted: https://github.com/warner/browserid-cred
- web.py: https://github.com/oscarfroberg/browserid-webpy
- WSGI: https://github.com/ianb/wsgibrowserid
Ruby
- Devise: https://rubygems.org/gems/devise-browserid
- Devise: https://github.com/denschub/devise_browserid_authenticatable
- OmniAuth: https://github.com/intridea/omniauth-browserid
- Rails: https://rubygems.org/gems/browserid-rails
- Sinatra: https://rubygems.org/gems/sinatra-browserid
- Warden / Rack: https://rubygems.org/gems/warden-browserid
Miscellaneous
- Apache: https://github.com/mozilla/mod_browserid
- Cyrus SASL: https://github.com/ozten/sasl-browserid
- PhoneGap: https://github.com/couchbaselabs/cordova-browserid
Didn't see your language or framework listed? LoginRadius, a hosted authentication widget, offers Persona integration for a wide variety of platforms.
Utility Libraries
C
- https://github.com/PADL/gss_browserid (libbrowserid component)
Go
Haskell
.Net
- https://github.com/cvrajeesh/NBrowserID
- https://www.codeguru.com/csharp/.net/net_asp/using-browserid-authentication-in-asp.net-web-sites.htm
- https://github.com/fernandozamoraj/BrowserIdDemoWithMVC3 (see blog post)
- https://github.com/sergiotapia/ASP.Net-MVC3-Persona-Demo
Node.js
PHP
Python
Everything Else
Perl
- Perl/CGI IdP: https://github.com/benkard/mulkyid
Python
- WSGI IdP: https://bitbucket.org/djc/persona-totp
Ruby
- Rack IdP: https://rubygems.org/gems/browserid-provider (see blog post)
PHP
- Symfony2 IdP: https://github.com/gigablah/GBPersonaProviderBundle