Skip to content
BrowserID integration in .Net
JavaScript C# ASP
Failed to load latest commit information.
Demo Removed JQuery UI theme, fixed the logout redirection Dec 17, 2011
NBrowserID Nuget package Dec 21, 2011
Nuget Markdown changes Dec 23, 2011
packages First commit Dec 17, 2011
.gitignore First commit Dec 17, 2011
BrowserID.sln First commit Dec 17, 2011
README.md Added demo application url Dec 29, 2011

README.md

NBrowserID

A Library which helps you to integrate BrowserID into your Web Application.

Go through Demo application to see how it is done

Try the hosted demo application - nbrowserid.apphb.com

How to Use BrowserID in ASP.NET MVC Application

  1. Install NBrowserID if you haven't done it. In the Package Manager console type

    Install-Package NBrowserID
    
  2. Include the BrowserID javascript(https://browserid.org/include.js) into your master page or in the view

  3. Add a login button link to your view

  4. Hook into its click event and invoke "navigator.id.getVerifiedEmail" method with a call back function

    E.g.

    $('#login').click(function () {
            navigator.id.getVerifiedEmail(gotVerifiedEmail);
    });
    
  5. In the call back function, pass the assertion back to the MVC application

    E.g. the below code will post the assertion to LogOn method on the AccountController

    function gotVerifiedEmail(assertion) {
            // got an assertion, now send it up to the server for verification
            if (assertion !== null) {
                    $.ajax({
                            type: 'POST',
                            url: '/Account/LogOn',
                            data: { assertion: assertion },
            success: function (res, status, xhr) {
                if (res != null) {
                    // Login is successful and verification is completed. Update the UI
                }
            },
            error: function (res, status, xhr) {
                alert("login failure" + res);
            }
        });
    }
    }
    
  6. In the server side, verify the assertion that is received using the NBrowserID library. If the verification is successful, mark the user as logged in

    E.g.

    [HttpPost]
    public ActionResult LogOn(string assertion)
    {
            var authentication = new BrowserIDAuthentication();
            var verificationResult = authentication.Verify(assertion);
            if (verificationResult.IsVerified)
            {               
                    string email = verificationResult.Email;
                    FormsAuthentication.SetAuthCookie(email, false);
                    return Json(new { email });
            }
            return Json(null);
    }
    

References

Something went wrong with that request. Please try again.