Rails4. Contacts importer from famous providers (Gmail, Facebook...) - ruby

Problem
Need to implement contacts importer/chooser on Rails4 project. Needed providers - Gmail, Facebook, Yahoo, LinkedIn, Outlook.
Researches
Tried omnicontacts and contacts gems but both has some limitations and maybe outdated for some providers.
There is commercial project which do this for you - CloudSponge , but I prefer open source.
Current Status
Implemented Linkedin contacts import using devise, omniauth, omniauth-linkedin.
Implemented Gmail contacts import using omnicontatcs.
Failed with other providers.
Queastion
Is there any other all-in-one solutions (maybe I missed something) which could be useful for my issue or I have to implement all things from scratch, maybe using already outdated gems/libs ?
Another thing I was thinking, maybe this task better to solve on client side using javascript libraries?

If you to try implement contacts importer in a do-it-youself way, the first goal will be proper learn OAuth2 and all the 4 authentication flows. I like this blog post explanation.
Then if you want to use a client-side-only solution for OAuth2, you'll need to use the Implicit flow.
For Google Contacts, you can find Implicit flow documentation here.
Disclaimer: I work for CloudSponge, and I'm a big fan of free/open-source solutions too. I even use Linux as my desktop :)

Related

SMS service for two-factor authentication in Rails

I have already implemented two-factor authentication using the tinfoil gem in Rails. It's using Google Authenticator to display the verification code to the user.
I would also like to implement sending the verification code to the user via SMS. I am wondering what is the best solution for this?
I have also searched around and found free SMS services for Rails like SMS FU and SMS-easy, but it seems like the gems are not active and they don't support a lot of the UK carriers.
So, should I resort to paid service like twilio?
Twilio developer evangelist here.
For something important like two factor authentication, where you need the messages to arrive or your user cannot log in, then I highly recommend a paid service.
StackOverflow is not exactly the right site to be asking for opinions on this sort of thing, it is more for code issues that can be solved. However, if you are interested in using Twilio for this and you find yourself with any questions about the service, you can contact me directly at philnash#twilio.com.

Best Framework for building Social Networking sites with twitter like security

I am looking for framework for building social networking site.
Features:
1) Users can make tweets. Tweets or messages should be available according to security settings such as if user selects only to friend then those tweets should be for only friends.
(or)
Instead of tweets and messages I should say security like public, private, only to friends should be provided.
2) Profile , images, videos should be displayed as per security constraints(only to friends or public).
I found Elgg is best voted in stackoverflow. But I don't know if Elgg provides such kind of features.
Does Elgg framework provides Features mentioned above?
(or)
You would suggest any other best framework with such kind of features.
Please give suggestions.
Elgg has most of the features you need. The wire plugin coming with elgg package lets you create the tweet like system.

Multi authorization with CodeIgniter

I have my own CodeIgniter webapp.
I want to add to my site the multi-authorization from Facebook, Google, Twitter and OpenID sites.
(like here - https://stackoverflow.com/users/login)
Is it possible with CodeIgniter?
P.S. I've found some extensions for CI, but they are single and there is no way to merge them.
Facebook uses oAuth2
Twitter uses oAuth
StackOverflow uses OpenID.
Merging 3 entirely different protocols is not easy work, which is why no easy solution exists. You'll have to get your hands dirty for this sadly.
The closest you'll get is:
https://github.com/elliothaughin/socialize
That is not tested and I'm not sure if Elliot ever got around to finishing it.
What is used in Stackoverflow is called OpenID. Knowing the name, you can search for OpenID+CI implementations and you'll find a couple of libraries out there, and I guess this is the latest one.

Google OpenID-OAuth hybrid implementation on Heroku

I am looking for a step by step guide to implement Google OpenID+OAuth in our Webapplication running on Heroku for getting calendar/contacts data. I have looked at many documents and Q&A about this but still can't make things work and was wondering if anyone here knew of a place which describes the plugins, gems needed and a step by step guide. The reason for using the hybrid is that we need a permanent token from Google that we can track for users across multiple sessions.
Truly appreciate any help.
Best,
_KK
You cannot use Google's OpenID to access other service. So you will need to ask user to provide username/password when you want to access calendar (make sure it's SSL-ed!).
So for calendar you can use: GCal4Ruby.
But in general you can access user data using official Google GData gem.

can Yahoo and Hotmail contacts api be used without leaving the site?

I might be missing something but I'm trying to implement a contacts retrieval mechanism akin to the one that is offered by Google for Yahoo and Hotmail. Both APIs seem to require the user to actually go to their sites to log in. The documentation is really convoluted for both. I was hoping someone has done this and can point me to a simple way (if there is one) to allow the user to log in directly in my app and then for me to go and fetch their contacts for them (preferably in XML, but JSON would also do nicely).
I currently have a Perl script that goes and gets the gmail stuff and works very nicely. I was (maybe wildly optimistically) hoping that Yahoo and Microsoft would have similarly useful mechanisms.
Check out Open Inviter: http://openinviter.com. It has Yahoo, Hotmail, and many more :)
Seems http://openinviter.com domain is no more. There are few other providers available in market out of which I liked https://socialinviter.com, give it a try.

Resources