Persona

  • Revision slug: Mozilla/Persona
  • Revision title: Persona
  • Revision id: 473207
  • Created:
  • Creator: wbamberg
  • Is current revision? No
  • Comment

Revision Content

Simple, privacy-sensitive single sign-on: let your users sign into your website with their email address, and free yourself from password management.

Stay in touch or get help!

Follow our blog, join our mailing list, find us in #identity on IRC, or report a bug.

Mozilla Persona is a cross-browser login system for the Web that's easy to use and easy to deploy. It works on all major browsers, and you can get started today.

Why should you use Persona on your website?

  1. Persona completely eliminates site-specific passwords, freeing users and websites from the burden of creating, managing, and securely storing passwords.
  2. Persona is easy to use. With just two clicks a Persona user can sign into a new site like Voost, bypassing the friction associated with account creation.
  3. Persona is easy to implement. Developers can add Persona to a site in a single afternoon.
  4. There's no lock-in. Developers get a verified email address for all of their users, and users can use any email address with Persona.

Plus, Persona is only going to get better: it's built on an open, decentralized protocol that's designed to allow direct integration into browsers and native support by email providers. Sites that implement Persona today will automatically experience those improvements, without having to change any code.


Using Persona on your site


Getting started

Why Persona?
What's special about Persona compared to other identity and authentication systems.
Quick setup
A walkthrough showing how to add Persona to your website.

API reference

The {{domxref("navigator.id")}} API reference
The browser API.
Verification API reference
The remote verification API.

Guides

Security considerations
Practices and techniques to make sure your Persona deployment is secure.
Browser compatibility
Learn exactly which browsers support Persona.
Internationalization
Learn how Persona handles different languages.
The implementor's guide
Tips from sites that have added support for Persona.

Resources

Libraries and plugins
Find a drop-in library for your favorite programming language, web framework, blog, or content management system.
The Persona cookbook
Example source code for Persona sites. Includes snippets in C# (MVC3), PHP, Node.JS, and more.
Branding resources
Sign in buttons and other graphics to help present Persona to your users.

Becoming an Identity Provider

If you're an email provider or another identity-providing service, check out the links below to learn about becoming a Persona Identity Provider.

IdP Overview
A high level view of Persona Identity Providers.
Implementing an IdP
A detailed guide to the technical details of becoming an IdP.
.well-known/browserid
An overview of the structure and purpose of the .well-known/browserid file, which IdPs use to advertise their support for the protocol.

The Persona Project

Glossary
BrowserID and Persona terminology defined.
FAQ
Answers to common questions.
Protocol overview
A mid-level technical overview of the underlying BrowserID protocol.
Crypto
A look at the cryptographic concepts behind Persona and BrowserID.
The Spec
Deep technical details live here.
The Persona website
To get Persona going, we're hosting three services at https://login.persona.org: a fallback Identity Provider, a portable implementation of the {{domxref("navigator.id")}} APIs, and an identity assertion verification service.
The Persona source code
The code behind the Persona website lives in a repository on GitHub. Pull requests welcome!
  1. Using Persona on a website
    1. Why should you use Persona?
    2. Get started
    3. Tips for implementing Persona
    4. Security considerations
    5. Browser compatibility
    6. Internationalization
    7. The navigator.id reference
    8. The remote verification API
    9. Libraries and plugins
    10. Persona cookbook
    11. Branding resources
  2. Becoming an Identity Provider
    1. IdP Overview
    2. Implementing an IdP
    3. .well-known-browserid format
  3. The Persona project
    1. Glossary
    2. FAQ
    3. Persona hosted services
    4. Protocol overview
    5. Cryptography
    6. Full specification
    7. <a href=">Protocol overview
    8. Source code

Revision Source

<div class="summary">
  Simple, privacy-sensitive single sign-on: let your users sign into your website with their email address, and free yourself from password management.</div>
<div class="column-container">
  <div class="callout-box">
    <p><strong>Stay in touch or get help!</strong></p>
    <p>Follow <a class="external" href="http://identity.mozilla.com/" target="_blank">our blog</a>, join <a class="link-https" href="https://lists.mozilla.org/listinfo/dev-identity" target="_blank">our mailing list</a>, find us in <a class="link-irc" href="irc://irc.mozilla.org/identity" target="_blank">#identity</a> on <a class="link-https" href="https://wiki.mozilla.org/IRC" target="_blank">IRC</a>, or <a class="link-https" href="https://github.com/mozilla/browserid/issues/new" target="_blank">report a bug</a>.</p>
  </div>
  <p><a href="https://login.persona.org/">Mozilla Persona</a> is a cross-browser login system for the Web that's easy to use and easy to deploy. It works on <a href="/en-US/docs/persona/Browser_compatibility">all major browsers</a>, and you can <a href="/en-US/docs/Persona/Quick_Setup">get started today</a>.</p>
  <p>Why should you use Persona on your website?</p>
  <ol>
    <li><strong>Persona completely eliminates site-specific passwords</strong>, freeing users and websites from the burden of creating, managing, and securely storing passwords.</li>
    <li><strong>Persona is easy to use.</strong> With just two clicks a Persona user can sign into a new site like <a href="http://voo.st">Voost</a>, bypassing the friction associated with account creation.</li>
    <li><strong>Persona is easy to implement</strong><strong>. </strong>Developers can add Persona to a site in a single afternoon.</li>
    <li><strong>There's no lock-in</strong>. Developers get a verified email address for all of their users, and users can use any email address with Persona.</li>
  </ol>
  <p>Plus, Persona is only going to get better: it's built on an <strong>open, decentralized protocol</strong> that's designed to allow <strong>direct integration into browsers</strong> and <strong>native support by email providers</strong><strong>. </strong>Sites that implement Persona today will automatically experience those improvements, without having to change any code.</p>
</div>
<hr />
<div class="column-container">
  <h2 id="Using_Persona_on_your_site">Using Persona on your site</h2>
  <br />
  <div class="column-strip">
    <h3 id="Getting_started">Getting started</h3>
    <dl>
      <dt>
        <a href="/en-US/docs/Persona/Why_Persona">Why Persona?</a></dt>
      <dd>
        What's special about Persona compared to other identity and authentication systems.</dd>
      <dt>
        <a href="/en-US/docs/Persona/Quick_Setup">Quick setup</a></dt>
      <dd>
        A walkthrough showing how to add Persona to your website.</dd>
    </dl>
    <h3 id="API_reference">API reference</h3>
    <dl>
      <dt>
        The {{domxref("navigator.id")}} API reference</dt>
      <dd>
        The browser API.</dd>
      <dt>
        <a href="/en-US/docs/Persona/Remote_Verification_API">Verification API reference</a></dt>
      <dd>
        The remote verification API.</dd>
    </dl>
  </div>
  <div class="column-strip">
    <h3 id="Guides">Guides</h3>
    <dl>
      <dt>
        <a href="/en-US/docs/Persona/Security_Considerations">Security considerations</a></dt>
      <dd>
        Practices and techniques to make sure your Persona deployment is secure.</dd>
      <dt>
        <a href="/en-US/docs/Persona/Browser_compatibility">Browser compatibility</a></dt>
      <dd>
        Learn exactly which browsers support Persona.</dd>
      <dt>
        <a href="/en-US/docs/Persona/Internationalization">Internationalization</a></dt>
      <dd>
        Learn how Persona handles different languages.</dd>
      <dt>
        <a href="/en-US/docs/Persona/The_implementor_s_guide">The implementor's guide</a></dt>
      <dd>
        Tips from sites that have added support for Persona.</dd>
    </dl>
  </div>
  <div class="column-strip">
    <h3 id="Resources">Resources</h3>
    <dl>
      <dt>
        <a href="/en-US/docs/Persona/Libraries_and_plugins">Libraries and plugins</a></dt>
      <dd>
        Find a drop-in library for your favorite programming language, web framework, blog, or content management system.</dd>
      <dt>
        <a class="link-https" href="https://github.com/mozilla/browserid-cookbook">The Persona cookbook</a></dt>
      <dd>
        Example source code for Persona sites. Includes snippets in C# (MVC3), PHP, Node.JS, and more.</dd>
      <dt>
        <a href="/en-US/docs/Persona/branding">Branding resources</a></dt>
      <dd>
        Sign in buttons and other graphics to help present Persona to your users.</dd>
    </dl>
  </div>
</div>
<hr />
<div class="column-container">
  <h2 id="Becoming_an_Identity_Provider">Becoming an Identity Provider</h2>
  <p>If you're an email provider or another identity-providing service, check out the links below to learn about becoming a Persona Identity Provider.</p>
  <dl>
    <dt>
      <a href="/en-US/docs/Persona/Identity_Provider_Overview">IdP Overview</a></dt>
    <dd>
      A high level view of Persona Identity Providers.</dd>
    <dt>
      <a href="/en-US/docs/Persona/Implementing_a_Persona_IdP">Implementing an IdP</a></dt>
    <dd>
      A detailed guide to the technical details of becoming an IdP.</dd>
    <dt>
      <a href="/en-US/docs/Persona/.well-known-browserid">.well-known/browserid</a></dt>
    <dd>
      An overview of the structure and purpose of the <code>.well-known/browserid</code> file, which IdPs use to advertise their support for the protocol.</dd>
  </dl>
</div>
<hr />
<div class="column-container">
  <h2 id="The_Persona_Project">The Persona Project</h2>
  <dl>
    <dt>
      <a href="/en-US/docs/Persona/Glossary">Glossary</a></dt>
    <dd>
      BrowserID and Persona terminology defined.</dd>
    <dt>
      <a href="/en-US/docs/Persona/FAQ">FAQ</a></dt>
    <dd>
      Answers to common questions.</dd>
    <dt>
      <a href="/en-US/docs/Persona/Protocol_Overview">Protocol overview</a></dt>
    <dd>
      A mid-level technical overview of the underlying BrowserID protocol.</dd>
    <dt>
      <a href="/en-US/docs/persona/Crypto">Crypto</a></dt>
    <dd>
      A look at the cryptographic concepts behind Persona and BrowserID.</dd>
    <dt>
      <a class="link-https" href="https://github.com/mozilla/id-specs/blob/prod/browserid/index.md">The Spec</a></dt>
    <dd>
      Deep technical details live here.</dd>
    <dt>
      <a href="/en-US/docs/Persona/Bootstrapping_Persona">The Persona website</a></dt>
    <dd>
      To get Persona going, we're hosting three services at <a class="link-https" href="https://login.persona.org" rel="freelink">https://login.persona.org</a>: a fallback Identity Provider, a portable implementation of the {{domxref("navigator.id")}} APIs, and an identity assertion verification service.</dd>
    <dt>
      <a href="https://github.com/mozilla/browserid">The Persona source code</a></dt>
    <dd>
      The code behind the Persona website lives in a repository on GitHub. Pull requests welcome!</dd>
  </dl>
</div>
<h2 id="Subnav">Subnav</h2>
<ol>
  <li><a href="#">Using Persona on a website</a>
    <ol>
      <li><a href="/en-US/docs/Persona/Why_Persona" title="Why Persona?">Why should you use Persona?</a></li>
      <li><a href="/en-US/docs/Persona/Quick_setup" title="Quick Start">Get started</a></li>
      <li><a href="/en-US/docs/Persona/The_implementor_s_guide" title="Implementor's Guide">Tips for implementing Persona</a></li>
      <li><a href="/en-US/docs/Persona/Security_Considerations" title="Security Considerations">Security considerations</a></li>
      <li><a href="/en-US/docs/Persona/Browser_compatibility" title="Browser compatibility">Browser compatibility</a></li>
      <li><a href="/en-US/docs/Persona/Internationalization" title="Internationalization">Internationalization</a></li>
      <li><a href="/en-US/docs/Web/API/navigator.id" title="navigator.id reference">The navigator.id reference</a></li>
      <li><a href="/en-US/docs/Persona/Remote_Verification_API" title="Remote Verification API">The remote verification API</a></li>
      <li><a href="/en-US/docs/Persona/Libraries_and_plugins" title="Libraries and plugins">Libraries and plugins</a></li>
      <li><a href="https://github.com/mozilla/browserid-cookbook" title="Persona cookbook">Persona cookbook</a></li>
      <li><a href="/en-US/docs/Persona/branding" title="Branding resources">Branding resources</a></li>
    </ol>
  </li>
  <li><a href="#">Becoming an Identity Provider</a>
    <ol>
      <li><a href="/en-US/docs/Persona/Identity_Provider_Overview" title="IdP Overview">IdP Overview</a></li>
      <li><a href="/en-US/docs/Persona/Implementing_a_Persona_IdP" title="Implementing an IdP">Implementing an IdP</a></li>
      <li><a href="/en-us/docs/Persona/.well-known-browserid" title=".well-known-browserid format">.well-known-browserid format</a></li>
    </ol>
  </li>
  <li><a href="#">The Persona project</a>
    <ol>
      <li><a href="/en-US/docs/Persona/Glossary" title="Glossary">Glossary</a></li>
      <li><a href="/en-us/docs/Persona/FAQ" title="FAQ">FAQ</a></li>
      <li><a href="/en-us/docs/Persona/Bootstrapping_Persona" title="The Persona website">Persona hosted services</a></li>
      <li><a href="/en-US/docs/Persona/Protocol_Overview" title="Protocol overview">Protocol overview</a></li>
      <li><a href="/en-US/docs/persona/Crypto" title="Crypto">Cryptography</a></li>
      <li><a docs="" en-us="" href="https://github.com/mozilla/id-specs/blob/prod/browserid/index.md" persona="" title="&quot;Specification&lt;/a">Full specification</a></li>
      <li>&lt;a href="&gt;Protocol overview</li>
      <li><a github.com="" href=" https:=" mozilla="" title="Source">Source code</a></li>
    </ol>
  </li>
</ol>
Revert to this revision