From 1daa0c1a3054ae71d9197faebca1f443b0395e32 Mon Sep 17 00:00:00 2001 From: Subhranath Chunder Date: Sun, 18 Sep 2011 22:55:14 +0530 Subject: [PATCH] Added support for Google+ --- README | 11 ++++ django_custom_auths.db | Bin 39936 -> 49152 bytes facebook/views.py | 3 +- googleplus/__init__.py | 0 googleplus/backends.py | 16 +++++ googleplus/models.py | 15 +++++ googleplus/tests.py | 16 +++++ googleplus/urls.py | 5 ++ googleplus/utils.py | 22 +++++++ googleplus/views.py | 119 +++++++++++++++++++++++++++++++++++ settings.py | 9 ++- templates/account/index.html | 1 + urls.py | 1 + 13 files changed, 215 insertions(+), 3 deletions(-) create mode 100644 googleplus/__init__.py create mode 100644 googleplus/backends.py create mode 100644 googleplus/models.py create mode 100644 googleplus/tests.py create mode 100644 googleplus/urls.py create mode 100644 googleplus/utils.py create mode 100644 googleplus/views.py diff --git a/README b/README index 3bc7c13..80c0aed 100644 --- a/README +++ b/README @@ -14,8 +14,19 @@ Currently supported, simultaneous auth backends: ------------------------------------------------- - Usual Django login - Login with Facebook (using Facebook Graph API) +- Login with Google+ Installing (Tryout) ------------------- Just clone this repo and hit 'runserver', to try this out. +For Facebook app: +i) Create a facebook app from the facebook developers site (with redirect_uri as '/facebook/login/') +ii) Update settings.py with 'FACEBOOK_APP_ID' and 'FACEBOOK_APP_SECRET'. + +For Google+ app: +i) Create a new application from the Google APIs Console (https://code.google.com/apis/console/), +with redirect uri specified to '/googleplus/login/' of your server. +ii) Use the 'client_id' and 'client_secret' obtained from step i, and make +appropriate changes in settings.py to update 'GOOGLEPLUS_CLIENT_ID' and +'GOOGLEPLUS_CLIENT_SECRET'. diff --git a/django_custom_auths.db b/django_custom_auths.db index 6f9d00120d60a4e84b52f36bf19a8f19e9cff989..c8bc2282da9226702f16529ac267c39d6feff138 100644 GIT binary patch delta 2389 zcmbtWU2GIp6ux)PZg;!g0+qJgQhuf@l`gQ$+?k!9UC^?WQVR5Ep)IvWH{1Pb8#de8 z?m`hsJAxR4K-Y;O5`8kp7kyYpj3h=AO^^ozulPfZJk-P(k(lscgLtP~wo8AgiIdEk znS0LnopbLw=iZt4oSB$_$(pjW2qA9v#`IZ{*($6%i`;i=%=D`W?of%g!Zh56d+X}!#T7i`GwFqBpJp=PmeDPm-% z20zTI-{N463Cq|TjU{5KSg3z!s6P=KPNYZEqp^{yoGvmDPWI2&IjT&UU~4!Uod>Ga zJ8Yl2Y`|PZkcLv`Vpe^V@ua|xT5D@cOEJcQz?_>9;bc)172Ye#icgX_pTbLm=9bsA z`P@WddEUGs4&r^3m|jHic?snfi9zYf z14Tc_c{tI_%lte_ub-DZoaCdFT3UXwdW*XsS zMxEA+-;Tz4oSVi!-u_+yEn;8iFh>F zOm@ATPPZvN2YZGh9o?~5OQ^rAv$cJoW6$$#?d`|*9(z0qx&4F)BJq+%cb`M)zJZZ& zGMs_|wo(6k++?x?HrfEg6oM%l+D}kj4KiL7tv`I@52(v?P>O+cG8!A1Nr@TVLijXT zpcg(tw=(Lran<#-#Sv`4YWpCy8k_6KdE07;`1%yO+lotCY->E&6zFVXTiSLv^{~z* z?ea`cw!Llq35HI#-WiTWVxyy>)XH+wxo+C74@?*b_RAG zXfj-{estaxOjovy$yY zHH&F0yp4J@>c(-&VMdKuZVV^c+-c0_;B%*eb$C;Fgq>1VKB!sK1wk$PTajy}uaLH?{-5mRRVJ|0qyqjQ N{f%incOf%b_Ahl4xw8NO delta 660 zcmah{%}*0S9G%&>O=(LBUp3Jp6apB9HapvPx2#^Uw!|0$!NzEacmNV5)ikyoln7lk zoKU)%c(Bov{{YJ<(S(CBgp-j!z!*Oca^V0MFI=28;i{9FcX%(qy!U&VY8BOYN-f%w zBZQoh@A$MigUM))#D7M8lJa5C6MAuk-#ElR_C$+X!s+Nq$wt~GG&e~I1tkQ1VUHx+ z+`m5PEIVR*{Q~@+5>dvvzhS_&I~6e=d~>!zK^MV1x?H;rO$DWqguA2RFr{>On8(di ziA-Ei$8=_CDN8pKnyxc5rE84EwT!$mO|z02OVbmKX_}$)dGlub-w|e7sic)kCx%Sj zWGVj3?37;nLU!M{UQ5vJnce7oA}he7ZIpYR@QxQ{6qt{nq6vY(|?A^0kXcCmp9 zUg4Q*Pk~oP>Vj?^;6%Sah@$MKhu{l(;9vxs*mUhCsJ$4a{7OB>^JD$0T)oe+yM;4W zZa@Uf+<$#QwB8O=x0Y3SX;Kv{lZzeAKFoSaUgHU7@ez5~PJ@RQ`oz73klHakTE3f~ zyHS2vn8;7xNhA$TORywM=|jxmyF8MfX2p?WDQ#ZOm2$You are not authenticated. Login to proceed. {% endif %} {% endblock content %} \ No newline at end of file diff --git a/urls.py b/urls.py index 70602bd..5b40535 100644 --- a/urls.py +++ b/urls.py @@ -18,4 +18,5 @@ url(r'^login/$', 'account.views.login_handler'), url(r'^logout/$', 'account.views.logout_handler'), url(r'^facebook/', include('facebook.urls')), + url(r'^googleplus/', include('googleplus.urls')), )