第三方登陸元件

2022-05-09 22:29:40 字數 2032 閱讀 3772

#

1. 安裝

#django 配置:

# ...

'social_django',

...)#

3. 資料庫遷移:第三方登陸的時候,會新建一些額外的資料表

python manage.py migrate #

直接 migrate,不用 makemigrations,因為 migrations檔案已經生成好了

#4. settings 中配置 authentication_backends (在原始碼中檢視:social_core/backends)

authentication_backends =(

..."social_core.backends.weibo.weibooauth2

", #

所要新增的第三方登陸;如果還需要其它的第三方登陸,下面可繼續新增

"social_core.backends.qq.qqoauth2",

"social_core.backends.weixin.weixinoauth2",

'django.contrib.auth.backends.modelbackend',

...)#

5. 配置 url

urlpatterns = patterns(''

, ...

url(

'', include('

social_django.urls

', namespace='

social

')), #

第三方登陸url;如果已經有使用者登陸,則會將第三方登陸的使用者和當前使用者繫結,否則第三方登陸後將在你的**上新建立乙個使用者

...)

#6. 對於 django 的 mtv模式,設定 template

"">微博

#social:begin social表示命名空間,begin表示 name="begin"的那個url;

"">google+

#7. 配置 template context processors

templates =[

}]#social_auth_weibo_key = '

'social_auth_weibo_secret = ''#

9. 第三方登陸成功後的跳轉

social_auth_login_redirect_url = '

/index/'#

from rest_framework_jwt.serializers import

jwt_payload_handler,jwt_encode_handler

def do_complete(backend, login, user=none, redirect_name='

next',

*args, **kwargs):

...response = backend.strategy.redirect(url) #

完成第三方登陸後,所要重定向的url

#前後端分離的專案中,需要把 jwt 新增到cookie中返回給前端

payload =jwt_payload_handler(user)

response.set_cookie(

"token

",jwt_encode_handler(payload),max_age=7*24*3600) #

設定 cookie;一定要加過期時間 max_age

response.set_cookie("

name

",user.name if user.name else user.username,max_age=7*24*3600)

return

response

#注:微博第三方登陸時,授權**頁的 位址一定要和本機的ip位址保持一致(如果是在伺服器上,就和伺服器的ip位址保持一致),如:127.0.0.1:8000/complete/weibo/ 這個**頁是由微博向你的 瀏覽器 傳送了乙個重定向的命令;而支付寶的 notify_url 是 支付寶向你的 伺服器 傳送了乙個post請求

thinksns 第三方登陸

繫結成功了之後必須設定下面兩個session session mid login uid 如果能找到,那就把繫結的使用者的uid存入session session site key getsitekey 因為在action.class.php裡面的inituser方法裡model passport ...

linkedin第三方登陸

到linkedin註冊成為開發者 使用這個sdk 利用composer安裝 composer require linkedinapi linkedin 1.1寫個首頁,點選跳到login.php li new linkedin array api key yourapikey api secret ...

第三方登陸 新浪

一 phpsdk的組成 裡面看到6個檔案 callback.php config.php index.php weibolist.php weibooauth.php以及.ds store這6個檔案。看了下官方的api文件 首先建立應用 這個可以隨便建立乙個等到上線之後可以按照自己的需要建立。三 互...