|
Project Information
-
Project feeds
- Code license
-
MIT License
-
Labels
Grails,
OAuth,
Contacts,
Authentication,
Spring,
Yammer,
Yahoo,
Hotmail,
Facebook,
Twitter,
Salesforce,
Java,
LinkedIn,
FourSquare,
MySpace
Featured
Links
|
SocialAuth is a Java library (.NET port available) for you if your web application requires: - Authenticating users through external oAuth providers like Gmail, Hotmail, Yahoo, Twitter, Facebook, LinkedIn, Foursquare, MySpace, Salesforce, Yammer as well as through OpenID providers like myopenid.com.
- Easy user registration. All you need to do is create a page where users can click on buttons for the above providers or other supported providers. Just call SocialAuth and you can get all their profile details.
- Importing contacts from Google, Yahoo or Hotmail. Support for importing friends from Facebook, followers from Twitter and contacts from LinkedIn is available, but currently Facebook, Twitter and LinkedIn do not provide email addresses. UPDATE: Hotmail has stopped providing email addresses.
See our Struts demo in action ! Whats new in Version 2.2 ?- Support to manage state of logged-in providers in socialauth filter
- Fixes to work with GAE
- Options in properties file to set proxy
- Option in properties file to set HttpConnection timeout
Getting StartedWe support several frameworks, Struts, Spring MVC as well as JBoss Seam based applications. For easy integration, we provide downloadable jars as well as Maven dependency. Let us get started with using socialauth. Please report any issues and we promise to get back How it works?- You get the API keys from providers like Facebook, Google and Yahoo. For this, you need to have a public domain on which you plan to deploy the application. It is important to note that your application can only run on the domain which you provided while getting the keys. If you want to run it locally, please see the steps here.
- You make a request for authentication by using SocialAuth library. The library redirects the user to Facebook, Yahoo or other provider’s website where they enter the credentials.
- The provider redirects the user back to your application with a token appended. Now you call the SocialAuth library and pass it this request token.
- Now you can call SocialAuth library to get information about the user, and contacts from the provider.
Why SocialAuthThere are so many libraries out there which implement OpenID and oAuth, so why another library? There many practical challenges that we faced while doing the implementation of above use cases. None of them is insurmountable but the developer could spend a couple of weeks solving these, which we actually did and hence decided to make things better for the community. - There are many libraries for implementing Open ID and many for implementing oAuth. It becomes a difficult exercise to choose one that will do the integration quickly with the providers you want.
- Some libraries do not implement all the features and it becomes known only in the later stages of implementation – for example we found out that openid4java does not implement the hybrid protocol. We also found out that it is not easy to integrate dyuproject library.
- Even after implementing using the library, it does not work out of the box for all providers. There are always certain things specific to a certain provider. For example the scopes are different as well as some steps in authorization may be different.
- Getting the actual data, for example contacts of a user is out of the scope of these protocols and hence most libraries do not implement this functionality.
So what we implemented is a wrapper that leverages these existing libraries, and works out of the box without requiring you to face the above challenges. You get the same interface to deal with integration of every provider. AcknowledgementsThe inspiration for getting more through Open ID came through this example. Sincere thanks to for support in development of this library. Share it with your friends!!!
|