Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 587889 of Libraries and plugins

  • Revision slug: Mozilla/Persona/Libraries_and_plugins
  • Revision title: Libraries and plugins
  • Revision id: 587889
  • Created:
  • Creator: otac0n
  • Is current revision? No
  • Comment
Tags: 

Revision Content

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.

This page is currently being revised and some plugins may be out of date. Please review plugins before using them.

Plugins

Clojure

Cold Fusion

Haskell

Java

JavaScript

Node.js

PHP

Python

Ruby

Perl

Erlang

Miscellaneous

Didn't see your language or framework listed? LoginRadius, a hosted authentication widget, offers Persona integration for a wide variety of platforms.

Verification Libraries

Go

Java

Node.js

Perl

PHP

Ruby

Utility Libraries

C

Go

Haskell

.Net

Node.js

PHP

Python

Ur/Web

Everything Else

Perl

Python

Ruby

PHP

Racket

Orchard CMS

Revision Source

<p>Want to use Persona on your website or blog? Implementing Persona from scratch <a href="/en-US/docs/Persona/Quick_Setup" title="/en-US/docs/Persona/Quick_Setup">is easy</a>, but the plugins and libraries listed here might get you going faster!<br />
 <br />
 This page lists three types of libraries:<br />
 <br />
 1. <strong>Plugins</strong> that integrate Persona with existing frameworks and content management systems<br />
 2. <strong>Utility libraries</strong> that are useful when building new plugins or integrating Persona into a site from scratch<br />
 3. <strong>Everything else</strong> related to Persona, including libraries for turning your domain into a Persona Identity Provider<br />
 <br />
 This is a community-maintained list. If you've created a library or plugin, please add it to this page.</p>
<div class="note">
 This page is currently being revised and some plugins may be out of date. Please review plugins before using them.</div>
<h2 id="Plugins">Plugins</h2>
<h3 id="Clojure">Clojure</h3>
<ul>
 <li>Noir: <a href="https://github.com/tmarble/nongrata" title="https://github.com/tmarble/nongrata">https://github.com/tmarble/nongrata</a></li>
 <li>ring / cemerick.friend / cljs: <a href="https://github.com/osbert/persona-kit" title="https://github.com/osbert/persona-kit">https://github.com/osbert/persona-kit</a></li>
</ul>
<h3 id="Cold_Fusion">Cold Fusion</h3>
<ul>
 <li>CFML: <a href="https://github.com/gregmoser/cfpersona" title="https://github.com/gregmoser/cfpersona">https://github.com/gregmoser/cfpersona</a></li>
</ul>
<h3 id="Haskell">Haskell</h3>
<ul>
 <li>Yesod: <a href="https://github.com/yesodweb/authenticate" title="https://github.com/yesodweb/authenticate">https://github.com/yesodweb/authenticate</a></li>
</ul>
<h3 id="Java">Java</h3>
<ul>
 <li>Spring: <a href="https://github.com/webdetails/SpringSecurityBrowserID" title="https://github.com/webdetails/SpringSecurityBrowserID">https://github.com/webdetails/SpringSecurityBrowserID</a></li>
 <li>Lutece: <a href="https://dev.lutece.paris.fr/plugins/module-mylutece-persona/" title="https://dev.lutece.paris.fr/plugins/module-mylutece-persona/">https://dev.lutece.paris.fr/plugins/module-mylutece-persona/</a></li>
</ul>
<h3 id="JavaScript">JavaScript</h3>
<ul>
 <li>Mootools: <a href="https://mootools.net/forge/p/browserid" title="https://mootools.net/forge/p/browserid">https://mootools.net/forge/p/browserid</a></li>
 <li>jQuery:&nbsp;<a href="https://github.com/altryne/browserID-jQuery" title="https://github.com/altryne/browserID-jQuery">https://github.com/altryne/browserID-jQuery</a></li>
 <li>Meteor:&nbsp;<a href="https://github.com/vladikoff/meteor-accounts-persona" title="https://github.com/vladikoff/meteor-accounts-persona">https://github.com/vladikoff/meteor-accounts-persona</a></li>
</ul>
<h3 id="Node.js">Node.js</h3>
<ul>
 <li>Express: <a href="https://github.com/jbuck/express-persona" title="https://github.com/jbuck/express-persona">https://github.com/jbuck/express-persona</a></li>
 <li>Express / Jungles: <a href="https://npmjs.org/package/jungles-auth-persona" title="https://npmjs.org/package/jungles-auth-persona">https://npmjs.org/package/jungles-auth-persona</a></li>
 <li>Passport: <a href="https://github.com/jaredhanson/passport-browserid" title="https://github.com/jaredhanson/passport-browserid">https://github.com/jaredhanson/passport-browserid</a></li>
 <li>Express / connect - connect-auth:&nbsp;<a href="https://github.com/ciaranj/connect-auth" title="https://github.com/ciaranj/connect-auth">https://github.com/ciaranj/connect-auth</a></li>
 <li>Persona + LevelDB session storage:&nbsp;<a href="https://github.com/maxogden/doorknob" title="/en-US/docs/">https://github.com/maxogden/doorknob</a></li>
</ul>
<h3 id="PHP">PHP</h3>
<ul>
 <li>CakePHP: <a href="https://github.com/overflow636/ofbid" title="https://github.com/overflow636/ofbid">https://github.com/overflow636/ofbid</a> and <a href="https://github.com/markomarkovic/cakephp-plugin-persona" title="https://github.com/markomarkovic/cakephp-plugin-persona">https://github.com/markomarkovic/cakephp-plugin-persona</a></li>
 <li>DokuWiki: <a href="https://github.com/Rudloff/dokuwiki-browserid" title="https://github.com/Rudloff/dokuwiki-browserid">https://github.com/Rudloff/dokuwiki-browserid</a></li>
 <li>Dotclear: <a href="https://plugins.dotaddict.org/dc2/details/browserID" title="https://plugins.dotaddict.org/dc2/details/browserID">https://plugins.dotaddict.org/dc2/details/browserID</a></li>
 <li>Drupal:&nbsp;<a href="https://drupal.org/project/persona" title="https://drupal.org/project/persona">https://drupal.org/project/persona</a></li>
 <li>Elgg: <a href="https://community.elgg.org/plugins/1154520/1.0/persona" title="/en-US/docs/">https://community.elgg.org/plugins/1154520/1.0/persona</a></li>
 <li>Mediawiki: <a href="https://www.mediawiki.org/wiki/Extension:Persona">https://www.mediawiki.org/wiki/Extension:Persona</a></li>
 <li>Joomla: <a href="https://extensions.joomla.org/extensions/access-a-security/authentication-cloud-based/18567" title="https://extensions.joomla.org/extensions/access-a-security/authentication-cloud-based/18567">https://extensions.joomla.org/extensions/access-a-security/authentication-cloud-based/18567</a></li>
 <li>Midgard MVC: <a href="https://github.com/midgardproject/midgardmvc_core/blob/master/services/authentication/browserid.php" title="https://github.com/midgardproject/midgardmvc_core/blob/master/services/authentication/browserid.php">https://github.com/midgardproject/midgardmvc_core/blob/master/services/authentication/browserid.php</a></li>
 <li>MyBB: <a href="https://github.com/Rudloff/mybb-browserid" title="https://github.com/Rudloff/mybb-browserid">https://github.com/Rudloff/mybb-browserid</a></li>
 <li>SPIP: <a href="https://www.spip-contrib.net/BrowserID" title="https://www.spip-contrib.net/BrowserID">https://www.spip-contrib.net/BrowserID</a></li>
 <li>Symfony2: <a href="https://github.com/Proxiweb/PersonaBundle" title="https://github.com/Proxiweb/PersonaBundle">https://github.com/Proxiweb/PersonaBundle</a>, <a href="https://github.com/bitgrave/BGPersonaBundle" title="https://github.com/bitgrave/BGPersonaBundle">https://github.com/bitgrave/BGPersonaBundle</a>, <a href="https://packagist.org/packages/champs-libres/persona-user-bundle">https://packagist.org/packages/champs-libres/persona-user-bundle</a></li>
 <li>Tiki: <a href="https://dev.tiki.org/Mozilla+Persona" title="https://dev.tiki.org/Mozilla+Persona">https://dev.tiki.org/Mozilla+Persona</a></li>
 <li>WordPress / bbPress 2: <a href="https://wordpress.org/extend/plugins/browserid/" title="https://wordpress.org/extend/plugins/browserid/">https://wordpress.org/extend/plugins/browserid/</a></li>
 <li>Yii framework: <a href="https://github.com/KryDos/persona-yii">https://github.com/KryDos/persona-yii</a></li>
</ul>
<h3 id="Python">Python</h3>
<ul>
 <li>CherryPy: <a href="https://bitbucket.org/jaraco/jaraco.persona">https://bitbucket.org/jaraco/jaraco.persona</a></li>
 <li>Django: <a href="https://github.com/mozilla/django-browserid" title="https://github.com/mozilla/django-browserid">https://github.com/mozilla/django-browserid</a> (see <a href="https://godjango.com/11-browser-id/" title="https://godjango.com/11-browser-id/">screencast</a>)</li>
 <li>Django Social Auth: <a href="https://github.com/omab/django-social-auth/blob/master/social_auth/backends/browserid.py" title="https://github.com/omab/django-social-auth/blob/master/social_auth/backends/browserid.py">https://github.com/omab/django-social-auth/blob/master/social_auth/backends/browserid.py</a></li>
 <li>Django 1.5 and Python 3: <a href="https://github.com/mozillaperu/MozTanta-Persona" title="/en-US/docs/">https://github.com/mozillaperu/MozTanta-Persona</a></li>
 <li>Flask: <a href="https://pypi.python.org/pypi/Flask-BrowserID" title="https://pypi.python.org/pypi/Flask-BrowserID">https://pypi.python.org/pypi/Flask-BrowserID</a></li>
 <li>Google App Engine: <a href="https://github.com/psawaya/BrowserID-GAE" title="https://github.com/psawaya/BrowserID-GAE">https://github.com/psawaya/BrowserID-GAE</a></li>
 <li>Pyramid: <a href="https://www.rfk.id.au/blog/entry/painless-auth-pyramid-browserid/" title="https://www.rfk.id.au/blog/entry/painless-auth-pyramid-browserid/">https://www.rfk.id.au/blog/entry/painless-auth-pyramid-browserid/</a></li>
 <li>Pyramid: <a href="https://github.com/madjar/pyramid_persona/" title="https://github.com/madjar/pyramid_persona/">https://github.com/madjar/pyramid_persona/</a> (see <a href="https://compiletoi.net/quick-authentication-on-pyramid-with-persona.html" title="https://compiletoi.net/quick-authentication-on-pyramid-with-persona.html">blog post</a>)</li>
 <li>Repoze: <a href="https://github.com/mozilla-services/repoze.who.plugins.browserid" title="https://github.com/mozilla-services/repoze.who.plugins.browserid">https://github.com/mozilla-services/repoze.who.plugins.browserid</a></li>
 <li>Tornado: <a href="https://www.peterbe.com/plog/integrate-browserid-in-a-tornado-web-app" title="https://www.peterbe.com/plog/integrate-browserid-in-a-tornado-web-app">https://www.peterbe.com/plog/integrate-browserid-in-a-tornado-web-app</a></li>
 <li>Twisted: <a href="https://github.com/warner/browserid-cred" title="https://github.com/warner/browserid-cred">https://github.com/warner/browserid-cred</a></li>
 <li>web.py: <a href="https://github.com/oscarfroberg/browserid-webpy" title="https://github.com/oscarfroberg/browserid-webpy">https://github.com/oscarfroberg/browserid-webpy</a></li>
 <li>WSGI: <a href="https://github.com/ianb/wsgibrowserid" title="https://github.com/ianb/wsgibrowserid">https://github.com/ianb/wsgibrowserid</a></li>
</ul>
<h3 id="Ruby">Ruby</h3>
<ul>
 <li>Devise: <a href="https://rubygems.org/gems/devise-browserid" title="https://rubygems.org/gems/devise-browserid">https://rubygems.org/gems/devise-browserid</a></li>
 <li>Devise: <a href="https://github.com/denschub/devise_browserid_authenticatable" title="https://github.com/denschub/devise_browserid_authenticatable">https://github.com/denschub/devise_browserid_authenticatable</a></li>
 <li>OmniAuth: <a href="https://github.com/intridea/omniauth-browserid" title="https://github.com/intridea/omniauth-browserid">https://github.com/intridea/omniauth-browserid</a></li>
 <li>Rails: <a href="https://rubygems.org/gems/browserid-rails" title="https://rubygems.org/gems/browserid-rails">https://rubygems.org/gems/browserid-rails</a></li>
 <li>Sinatra: <a href="https://rubygems.org/gems/sinatra-browserid" title="https://rubygems.org/gems/sinatra-browserid">https://rubygems.org/gems/sinatra-browserid</a></li>
 <li>Warden / Rack: <a href="https://rubygems.org/gems/warden-browserid" title="/en-US/en-US/docs/">https://rubygems.org/gems/warden-browserid</a></li>
</ul>
<h3 id="Perl">Perl</h3>
<ul>
 <li>Plack: <a href="https://metacpan.org/release/Plack-Middleware-Auth-BrowserID">https://metacpan.org/release/Plack-Middleware-Auth-BrowserID</a></li>
</ul>
<h3 id="Erlang">Erlang</h3>
<ul>
 <li>CouchDB: <a href="https://github.com/iriscouch/browserid_couchdb" title="https://github.com/iriscouch/browserid_couchdb">https://github.com/iriscouch/browserid_couchdb</a></li>
</ul>
<h3 id="Miscellaneous">Miscellaneous</h3>
<ul>
 <li>Apache: <a href="https://github.com/mozilla/mod_authnz_persona" title="/Link_Type_Article_Title_Lookup_/_Link_Text_Attachments_URL">https://github.com/mozilla/mod_authnz_persona</a></li>
 <li>Cyrus SASL: <a href="https://github.com/ozten/sasl-browserid" title="https://github.com/ozten/sasl-browserid">https://github.com/ozten/sasl-browserid</a></li>
 <li>PhoneGap: <a href="https://github.com/couchbaselabs/cordova-browserid" title="https://github.com/couchbaselabs/cordova-browserid">https://github.com/couchbaselabs/cordova-browserid</a></li>
</ul>
<p>Didn't see your language or framework listed? <a href="https://identity.mozilla.com/post/31008721633/" title="https://identity.mozilla.com/post/31008721633/">LoginRadius</a>, a hosted authentication widget, offers Persona integration for a wide variety of platforms.</p>
<h2 id="Verification_Libraries">Verification Libraries</h2>
<h3 id="Go">Go</h3>
<ul>
 <li>persona: <a href="https://github.com/sauerbraten/persona">https://github.com/sauerbraten/persona</a></li>
</ul>
<h3 id="Java_2" style="line-height: 20px;">Java</h3>
<ul>
 <li><span style="color: rgb(102, 102, 102); font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 16.363636016845703px; line-height: 20px;">Simple Java BrowserID Verifier</span>:&nbsp;<a href="https://github.com/user454322/browserid-verifier/">https://github.com/user454322/browserid-verifier</a></li>
</ul>
<h3 id="Node.js_2">Node.js</h3>
<ul>
 <li>browserid-verify: <a href="https://npmjs.org/package/browserid-verify">https://npmjs.org/package/browserid-verify</a></li>
</ul>
<h3 id="Perl_2">Perl</h3>
<ul>
 <li>Net::BrowserID::Verify: <a href="https://search.cpan.org/perldoc?Net%3A%3ABrowserID%3A%3AVerify">https://search.cpan.org/perldoc?Net::BrowserID::Verify</a></li>
</ul>
<h3 id="PHP_2">PHP</h3>
<ul>
 <li>auth-browserid: <a href="https://github.com/fmarier/auth-browserid">https://github.com/fmarier/auth-browserid</a></li>
</ul>
<h3 id="Ruby_2">Ruby</h3>
<ul>
 <li>browserid-verify: <a href="https://rubygems.org/gems/browserid-verify">https://rubygems.org/gems/browserid-verify</a></li>
</ul>
<h2 id="Utility_Libraries">Utility Libraries</h2>
<h3 id="C">C</h3>
<ul>
 <li><a href="https://github.com/PADL/gss_browserid" title="https://github.com/PADL/gss_browserid">https://github.com/PADL/gss_browserid</a> (libbrowserid component)</li>
</ul>
<h3 id="Go_2">Go</h3>
<ul>
 <li><a href="https://github.com/elathan/gobrowserid" title="https://github.com/elathan/gobrowserid">https://github.com/elathan/gobrowserid</a></li>
</ul>
<h3 id="Haskell_2">Haskell</h3>
<ul>
 <li><a href="https://hackage.haskell.org/package/authenticate" title="https://hackage.haskell.org/package/authenticate">https://hackage.haskell.org/package/authenticate</a></li>
</ul>
<h3 id=".Net">.Net</h3>
<ul>
 <li><a href="https://github.com/cvrajeesh/NBrowserID" title="https://github.com/cvrajeesh/NBrowserID">https://github.com/cvrajeesh/NBrowserID</a></li>
 <li><a href="https://www.codeguru.com/csharp/.net/net_asp/using-browserid-authentication-in-asp.net-web-sites.htm" title="https://www.codeguru.com/csharp/.net/net_asp/using-browserid-authentication-in-asp.net-web-sites.htm">https://www.codeguru.com/csharp/.net/net_asp/using-browserid-authentication-in-asp.net-web-sites.htm</a></li>
 <li><a href="https://github.com/fernandozamoraj/BrowserIdDemoWithMVC3" title="https://github.com/fernandozamoraj/BrowserIdDemoWithMVC3">https://github.com/fernandozamoraj/BrowserIdDemoWithMVC3</a> (see <a href="https://fernandozamorajimenez.blogspot.com/2012/04/integrating-browserid-with-mvc3.html" title="https://fernandozamorajimenez.blogspot.com/2012/04/integrating-browserid-with-mvc3.html">blog post</a>)</li>
 <li><a href="https://github.com/sergiotapia/ASP.Net-MVC3-Persona-Demo" title="https://github.com/sergiotapia/ASP.Net-MVC3-Persona-Demo">https://github.com/sergiotapia/ASP.Net-MVC3-Persona-Demo</a></li>
 <li><a href="https://www.nuget.org/packages/Persona">https://www.nuget.org/packages/Persona</a>&nbsp;(MVC3, 4, &amp; 5; integrates with ASP.NET authentication)</li>
</ul>
<h3 id="Node.js_3">Node.js</h3>
<ul>
 <li><a href="https://github.com/substack/persona-id" title="https://github.com/substack/persona-id">https://github.com/substack/persona-id</a></li>
 <li><a href="https://github.com/lloyd/node-browserid" title="https://github.com/lloyd/node-browserid">https://github.com/lloyd/node-browserid</a></li>
</ul>
<h3 id="PHP_3">PHP</h3>
<ul>
 <li><a href="https://github.com/Falco20019/php-browseridlib" title="https://github.com/Falco20019/php-browseridlib">https://github.com/Falco20019/php-browseridlib</a></li>
 <li><a href="https://github.com/raymondjavaxx/php5-browserid" title="https://github.com/raymondjavaxx/php5-browserid">https://github.com/raymondjavaxx/php5-browserid</a></li>
</ul>
<h3 id="Python_2">Python</h3>
<ul>
 <li><a href="https://github.com/mozilla/PyBrowserID" title="https://github.com/mozilla/PyBrowserID">https://github.com/mozilla/PyBrowserID</a></li>
</ul>
<h3 id="Ur.2FWeb">Ur/Web</h3>
<ul>
 <li><a href="https://github.com/doublec/urweb-persona">https://github.com/doublec/urweb-persona</a></li>
</ul>
<h2 id="Everything_Else">Everything Else</h2>
<h3 id="Perl_3">Perl</h3>
<ul>
 <li>Perl/CGI IdP: <a href="https://github.com/benkard/mulkyid" title="https://github.com/benkard/mulkyid">https://github.com/benkard/mulkyid</a></li>
</ul>
<h3 id="Python_3">Python</h3>
<ul>
 <li>WSGI IdP: <a href="https://bitbucket.org/djc/persona-totp" title="https://bitbucket.org/djc/persona-totp">https://bitbucket.org/djc/persona-totp</a></li>
</ul>
<h3 id="Ruby_3">Ruby</h3>
<ul>
 <li>Rack IdP: <a href="https://rubygems.org/gems/browserid-provider" title="https://rubygems.org/gems/browserid-provider">https://rubygems.org/gems/browserid-provider</a> (see <a href="https://rin.no/category/browserid-2/" title="https://rin.no/category/browserid-2/">blog post</a>)</li>
</ul>
<h3 id="PHP_4">PHP</h3>
<ul>
 <li>Symfony2 IdP: <a href="https://github.com/gigablah/GBPersonaProviderBundle" title="https://github.com/gigablah/persona-provider-bundle">https://github.com/gigablah/GBPersonaProviderBundle</a></li>
</ul>
<h3 id="Racket">Racket</h3>
<ul>
 <li>web-server module:&nbsp;<a href="https://github.com/cosmez/racket-persona">https://github.com/cosmez/racket-persona</a></li>
</ul>
<h3 id="Orchard_CMS" style="line-height: 20px;">Orchard CMS</h3>
<ul>
 <li>Mozilla persona sign in module:&nbsp;<a href="https://github.com/grapto/Contrib.Persona">https://github.com/grapto/Contrib.Persona</a></li>
</ul>
Revert to this revision