2014年1月17日 星期五

使用django-social-auth做 goole auth2.0 登入

官方的 Demo:http://social.matiasaguirre.net/

測試環境:
python 2.6
Django 1.4.9

基本上只要是Django >=1.2.5 python-social-auth >= 0.1.12 即可使用

下載:git clone https://github.com/omab/django-social-auth.git

先instll 必要的package
$ sudo pip insall south

$ cd django-social-auth
$ sudo python setup.py install

$ cd  example
$ python manage.py syncdb
$ python manage.py migrate

$ vi  example/settings.py

 #在最下面的部分加入

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'YOUR CLIENT SECRET'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET  = 'YOUR CLIENT SECRET'

$ python manage.py runserver 0.0.0.0:8080

再來打開你的browser 輸入

localhost:8080

就可以正常運作並利用 google oauth2.0登入了

-----------------------------------------------------------------------------------------------
在 python 3.3    Django 1.5.5下
需要將修改一些東西

# vim example/urls.py

將以下這行註解
#from django.conf.urls.defaults import patterns, url, include

加入以下這行
from django.conf.urls import patterns, url, include

即可讓網站正常運作,但是記得,要改用python3.3 及 pip3.3 來運作。

小編也有試著將Django 升級到目前最新的版本 1.6.1,

其實都可以正常運作,但在login的時候會不太正常。

如何不清楚 google oauth 2.0 的client_id  與 client_secret 如何申請麻煩參考以下google的文件:

https://developers.google.com/adsense/management/tutorials/oauth-generic?hl=zh-tw



1 則留言:

  1. JackpotCity Casino - Mapyro
    JackpotCity Casino is open 삼척 출장마사지 and excited to welcome you back to a world at 밀양 출장샵 play! Discover the thrill of 제천 출장샵 winning 익산 출장안마 and a world 광주광역 출장안마 of excitement at JackpotCity Casino!

    回覆刪除