Introduction to Janrain Engage
I recently had the pleasure to work on Janrain for one of my projects. So what is Janrain? They are leaders in the social login/registration and sharing space. They’re one of the most inexpensive solutions to provide a turnkey social login and social sharing solution. We evaluated Gigya and the work required to write it from scratch and picked Janrain. Janrain Engage lets a website’s visitors register or login with their existing social network accounts from Facebook, Google, Twitter, Yahoo, LinkedIn or other networks, and share content or their site activities with friends on multiple social networks. Additionally Janrain lets users import their social network profile data and invites their friends to visit your website. They offer other services like analytics, profile storage, badges and points. They have been around for a long time and started OpenID.
The main benefit’s that I see to using social login is that we get the users social profile and social graph. We can provide a more customized experience and target advertisements more effectively. Finally, we can tap into the viral social web and drive traffic to our sites. From a user standpoint, they only have to manage one account to identify themselves and their experience on the site is more social. So its a win win for both sides.
Key differences between using Janrain or Gigya over developing against native APIs like Facebook’s connect are that you do not have to write lots of code to support all the different providers. Both Janrain and Gigya have support for dozens out of the box. You also do not have to maintain and keep up with all the changes to the API, and figuring out how to normalize the data. For $10 a month or $100 a year that is worth it. You can even start with a free account with limited features or get an evaluation account for a limited time. I know the world is trending towards using Facebook and Twitter widgets but I like the idea of supporting many different providers. I will say many of the provider widgets are amazing, and I think there is a place for Janrain and native widgets on the same site.
So how does it work?
Its simple you provide a login button that fires up the Janrain widget (just a little script you need to include on your page). The user then can click on one of the providers like Facebook, Google, Twitter, or other providers to identify themselves to your site. When they click on which provider they want to be identified with they will be prompted by the provider asking if the provider can share your identity so that it can be used by your site. For example, let’s say a user logs-in using Facebook they would be prompted to connect to your site with details about what is going on. If the user is already signed in to Facebook, they will be asked if its OK to share certain information with your site. The degree of information your site is asking the user to share is controlled by your configuration inside Janrain. So you can ask the user to share as little information about them self like their full name to detailed information including all their friends, contacts, DOB, etc.Janrain also tries to simplify and consolidate the login process because each provider has a slightly different UI and flow. They also try to streamline the work flow so if the user is a return user they do not have to remember which provider they connected with. All these small details make the process a delight for your users.
Once the user has connected and shared their profile data with your site you no longer need to have your own registration process. The provider will share the details about the user so you can skip asking for their email, name, etc. and just create the account. The user will not need to have their own username and password but, they can be simply identified by the provider. Optionally you can store additional properties and preferences that are for your site only but link to the providers profile. At any point, you can ask the provider to share the most up-to-date information on that profiles social graph, contacts, etc.
Janrain is not a replacement for your user management and authentication system. Your site will still need to keep track of your users but, the main difference is that it does this by a user’s identity not an username and password. Janrain will let you associate a unique identifier to any providers identity. For example, if a user identifies themselves through Facebook you can tell Janrain next time the user signs back into your site to identify them with your previously assigned unique identifier, not with the default provider’s identifier. Simplifying the process of having to map Janrain ID to your user IDs. Furthermore, you can tell Janrain to identify multiple profiles to a single ID, this is useful if a user has a Facebook and Twitter profile but you want to identify them as the same user.
Janrain uses a secure back channel to validate the user’s identity. When users connect to your site Janrain and the providers communicate with each other and your server communicates with Janrain’s servers behind the scenes. So the client browser is left out of the loop. This requires you to have an endpoint to let Janrain to initiate a session to start the login process. Your server will also need to know how to form cryptographically signed messages that Janrain trusts. This is where janrain (NodeJS package) comes in this package makes is a breeze to integrate Janrain into your node.js projects. In a future post, I will cover how to setup your node.js project to use Janrain.1 Notes/ Hide
- experionomy-blog reblogged this from demetriusj-blog
- demetriusj-blog posted this