{"shas":[["922b39c5aab1b8211d6be6c7df6a5bfbb208788a","17b9e1c64588c7fa6419b4d29dc1f4426279ba01@whalesalad.com","cleaning up the code a tad","Michael Whalen"],["5f6abc379e401a69e83136e4e33e8d04c254717a","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","README.markdown","Robert Lacroix"],["ceb114e299034b06aa5a5f9c4fe5d1b733cb2cfe","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","* Added test view to display Facebook Profile raw json data\n* Changed setting variable names to standard that other Facebook Connect apps use (`FACEBOOK_APP_ID` and `FACEBOOK_APP_SECRET`)\n* Cleaned up code\n* Switched from hard-coded return URLs to reverse looked up ones\n* Switched to current Facebook API querystring property (redirect_uri vs callback) and new URL for OAuth (Facebook favored www.facebook.com/dialog/oauth instead of graph.facebook.com/..., see http://developers.facebook.com/docs/authentication/)\n* Added useful scopes to Facebook OAuth call","Robert Lacroix"],["37e9c32b605711b86246685105cadee4da777e15","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Used HttpRequest.build_absolute_uri(location) to build redirect_uri","Robert Lacroix"],["25bf1f1ae2ee3652f6306ebb35ddfba0165df12e","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Code cleanup","Robert Lacroix"],["8e1cceb61cfbb2ce4929036c32850311cf5de9c6","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Optimization and Cleanup:\n* If the user is already authenticated by django auth, attach FacebookUser to it\n* Preserve whole Facebook Profile for registration, instead of only id\n* Remove unnecessary import of Site","Robert Lacroix"],["e6b49042d954654f0e2c7310caac51a0871acfa3","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","* Reduced SQL query in Context Processor on anonymous\n* Code cleanup","Robert Lacroix"],["1894c61e1e84b9c1f26ff01d96ecfdd5d144c26c","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Redirect to referer after successful login","Robert Lacroix"],["420f22087deb1e9c8eef3b3aedb609b9781e40a8","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Don't save referer to session for register_view","Robert Lacroix"],["26a37ebd87cef89db878eea2687bbfdd2a853a15","0c301dfda3d43a6c43bf2c0faee56acaf3fc8e09@gmail.com","added required auth backend attributes for django1.4, moved app into subdir","Greg Brown"],["7ee1226c2def9d7e3edb12700060127413bb8ad3","0c301dfda3d43a6c43bf2c0faee56acaf3fc8e09@gmail.com","Added backend which automatically creates a user if one doesn't exist for the facebook login","Greg Brown"],["3b46c87f65e6fa507c2afa3b18d439d8d71ef8a8","0c301dfda3d43a6c43bf2c0faee56acaf3fc8e09@gmail.com","bugfix","Greg Brown"],["52e6c00f8b108d53304037fe733e8584509eeff3","0c301dfda3d43a6c43bf2c0faee56acaf3fc8e09@gmail.com","bugfix","Greg Brown"],["b2538138e1270993253cd9af5f8fdf0398ba9c94","0c301dfda3d43a6c43bf2c0faee56acaf3fc8e09@gmail.com","Save email address","Greg Brown"],["f59fb20604e065e266f21274e554178f977d9cee","0c301dfda3d43a6c43bf2c0faee56acaf3fc8e09@gmail.com","next url for auth view","Greg Brown"],["af17705d881a66129e33655e1d039aaac76877c1","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Moved requested scope to a setting rather than to hardcode it","Robert Lacroix"],["7321d498c8e55eaef968ac7415a5347e0d1fc6ca","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Moved app into subdir","Robert Lacroix"],["940e78c665568cb37d908b4fd1fc86d78f2d530b","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Added required auth backend attributes for Django 1.4","Robert Lacroix"],["7b044f1b955a8615d0d472c0726bf97df8306f7e","91ca6b35e0340e2e564e847ff29d332ff04d34ca@cuca","added setup.py","Fabián Ezequiel Gallina"],["a5e915c3c849a56943a9895e4dc08358c9b3e8b1","1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@robertlacroix.com","Updated setup.py, fixed bug in context_processor found by gregplaysguitar","Robert Lacroix"]],"ref":"refs/heads/master","size":21,"head":"20822174e520322b3aa61b084e5a54efbe9104e2","push_id":33668179}