Ask HN: what's the easiest way to implement login using x account?

11 points by epi0Bauqu ↗ HN
For example, what Stack Overflow is doing: http://stackoverflow.com/users/login

ClickPass (YC 07, http://clickpass.com/) was doing this, but their site says not to develop against them atm.

JanRain does it, but costs money (http://www.janrain.com/products/engage/get-janrain-engage).

Any open source implementations or other alternatives?

7 comments

[ 3.1 ms ] story [ 22.9 ms ] thread
Janrain seems really nice. I started using it for a site I was making, but had some issues with the Rails authlogic plugin for it (this was almost a year ago though). I never sorted out the problem after a lot of debugging, and then the project ended up on my back burner, where it still lies.

It seems like one can get away with the free plan pretty well. But the real issue is that now if either you or they have downtime, you have downtime. I assume they have some good HA practices, but one of the times that I was working on debugging the issue, I was getting 500s.

An open source version, especially one that could be easily used with any language, would be awesome.

It's possible that the best way to do that would be to essentially clone Janrain open-source-ly and write libraries for that clone. That way most of the work is being done in whatever language it's implemented in, and then to make it work in a new language, you'd just write a simple library integrating with its API, rather than rewriting the whole thing.

The advantage is that you'd host it yourself, and so you can take steps to ensure that it stays up. (And at the very least, it would be hosted in the same datacenter, so unless your hosted version of JanrainClone crashes, its downtime would mostly coincide with your own downtime.)

JanRain has written open source libraries for OpenID: http://www.janrain.com/openid-enabled

Their free version of Engage is sufficient for basic authentication. As mentioned already, your authentication system will then rely on your site, Janrain's site, and also the 3rd party site that performs the actual authentication. If you just want to quickly get going, you can use their free version of Engage with the above caveats.

If you want to not rely upon JanRain, then you can use one of the OpenID libraries out there. Integration is "relatively" simple, it should take 1 day in most cases.

However, you may want more than OpenID (Hello, Facebook Connect and Twitter's OAuth). If that is the case, then you will have to add support for those sites as well.

It would be nice if there is an open source version of Engage, but there doesn't appear to me from my searching.

+1 JanRain (they do have a free account, as others have pointed out)
I used JanRain for about 9 months, first using their basic and then upgraded to their paid $10 account. The service was great, and I didn't experience any issues with them. I would recommend them if you want to get something up fast.

I moved away from them because I wanted to use it in a Facebook application to generate user accounts on the site but this wasn't possible without upgrading further. Also, 99% of my users came from Facebook or Twitter and I just didn't need the other options.