browserID v1.0

This is a MooTools client library for the BrowserID Protocol. BrowserID is a new way for users to log into web sites using their email address. It aims to provide a secure way of proving your identity to servers across the internet, without having to create separate usernames and passwords each time. Instead of a new username, it uses your email address as you identity which allows it to be descentralized since anyone can send you an email verification message.



Details

Author
Adrian Statescu
Current version
v1.0
GitHub
thinkphp/browserID-MooTools
Downloads
1018
Category
Utilities
Tags
Report
GitHub Issues

Releases


Dependencies

  • core/1.4.5: *

How to use

Include the BrowserID include.js library in your site by adding the following script tag to your pages:

    <script src="https://browserid.org/include.js" type="text/javascript"></script>
    <script type="text/javascript" src="mootools.js"></script>
    <script type="text/javascript" src="browserID.js.js"></script>

Adding a pretty button:

    #HTML
    <button id="login"><img src="https://browserid.org/i/sign_in_green.png" alt="sign in with browser ID"></button>

When DOM is ready:

    #JS
    window.addEvent('domready', function(){

            $('login').addEvent('click',function(){
               navigator.id.getVerifiedEmail(function(assertion){
                        if(assertion) {
                          //got an assertion, now send it up to the server for verification
                           verify(assertion)
                        } else {
                           alert("I still don't know you")
                        }
               })
           })
    })


     function verify(assertion) {

         var browserid = new BrowserID(assertion, {

                         onComplete: function(response){

                             //if the server successfully verifies the assertion we
                             //updating the UI by calling 'loggedIn()'
                             if(response.status == 'okay') {

                                   loggedIn(response.email)

                             //otherwise we handle the login failure by calling 'failure()'
                             } else {
                                   failure(response)
                             }    
                         }
         })
     }

     function loggedIn(email) {
         //do stuff with email
         var p = new Element('p').set('text','Logged In as: ' + email)
         $('login').parentNode.replaceChild(p,$('login'))
     }

     function failure(f) {
         //do stuff with failure
         alert('Failure reason: ' + f.reason) 
     }

References:

  • https://browserid.org/
  • https://developer.mozilla.org/en/BrowserID
  • https://browserid.org/developers
  • http://identity.mozilla.com/post/7616727542/introducing-browserid-a-better-way-to-sign-in
  • http://identity.mozilla.com/post/17207734786/id-provider-support-now-live-on-browserid
  • https://github.com/mozilla/browserid/wiki

Discuss

A note on comments here: These comments are moderated. No comments will show up until they are approved. Comments that are not productive (i.e. inflammatory, rude, etc) will not be approved.

Found a bug in this plugin? Please report it this repository's Github Issues.

blog comments powered by Disqus