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 990897 of Libraries and plugins

  • Revision slug: Mozilla/Persona/Libraries_and_plugins
  • Revision title: Libraries and plugins
  • Revision id: 990897
  • Created:
  • Creator: wbamberg
  • Is current revision? Yes
  • Comment
Tags: 

Revision Content

{{ PersonaDecommissioningNotice }}

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

Miscellaneous

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

Go

Haskell

.Net

Node.js

PHP

Python

Everything Else

Perl

Python

Ruby

PHP

Revision Source

<p>{{ PersonaDecommissioningNotice }}</p>

<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>
</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>
</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>Drupal:&nbsp;<a href="https://drupal.org/project/persona" title="https://drupal.org/project/persona">https://drupal.org/project/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>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>,&nbsp;<a href="https://github.com/ahilles107/BrowserIDBundle" title="https://github.com/ahilles107/BrowserIDBundle">https://github.com/ahilles107/PersonaBundle</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>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>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>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>
</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="Miscellaneous">Miscellaneous</h3>

<ul>
 <li>Apache: <a href="https://github.com/mozilla/mod_browserid" title="/Link_Type_Article_Title_Lookup_/_Link_Text_Attachments_URL">https://github.com/mozilla/mod_browserid</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="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">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>
</ul>

<h3 id="Node.js_2">Node.js</h3>

<ul>
 <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_2">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>

<h2 id="Everything_Else">Everything Else</h2>

<h3 id="Perl">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_2">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_3">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>
Revert to this revision