thinkphp / browserID-MooTools

This is a MooTools client library for the BrowserID Protocol.

Home Page:http://thinkphp.ro/apps/js-hacks/browserID-MooTools/Demos/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BrowserID

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.

Screenshot

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:

About

This is a MooTools client library for the BrowserID Protocol.

http://thinkphp.ro/apps/js-hacks/browserID-MooTools/Demos/


Languages

Language:JavaScript 51.5%Language:PHP 48.5%