亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

微信公眾號開發(fā)小記——3.接入三方登錄

aisuhua / 1688人閱讀

摘要:我接觸已經(jīng)很久了,其中微信的就是我貢獻(xiàn)的代碼,然而當(dāng)時(shí)做的時(shí)候比較年輕,而且這個(gè)項(xiàng)目處于一個(gè)很大的代碼重構(gòu)中,借這次機(jī)會重新用正確的姿勢接入了一下三方登錄,可以當(dāng)做一個(gè)學(xué)習(xí)接入三方的。

為什么要接入三方登錄

如果你的微信服務(wù)器要做復(fù)雜的邏輯,比如html5、給用戶提供高級的服務(wù),并且有很好看的頁面等等,這種時(shí)候你就需要一個(gè)正常的web服務(wù)器,用戶打通就需要做三方登錄了。

而如果你決定直接用weixin_server做web服務(wù)器完全沒有問題,80端口給微信留著,剩下的你可以按照一個(gè)正常的django項(xiàng)目開發(fā),前端可以接入weixin sdk。

python-socail-auth

我接觸python-social-auth已經(jīng)很久了,其中微信的backend就是我貢獻(xiàn)的代碼,然而當(dāng)時(shí)做的時(shí)候比較年輕,而且這個(gè)項(xiàng)目處于一個(gè)很大的代碼重構(gòu)中,借這次機(jī)會重新用正確的姿勢接入了一下三方登錄,可以當(dāng)做一個(gè)學(xué)習(xí)接入三方的demo。順便提了weixin app登錄的backend的一個(gè)pr。

如果你想用這個(gè)weixin_server項(xiàng)目接入三方登錄,可以參考feature/myauth分支,三方用的python-social-auth weixin app backend剛提pr不知道作者什么時(shí)候合并,如果要用先-e安裝我的分之的這個(gè)版本我的python-social-auth,分支master_origin

用戶信息

django默認(rèn)的User信息肯定是不夠用的,按照以前開發(fā)的尿性,我們需要一個(gè)UserProfile做onetoone的關(guān)聯(lián),記錄額外信息。myauth/models.py

配置

參考文檔配置即可,可以參考我的配置。

注意配置中SOCIAL_AUTH_通用配置 | SOCIAL_AUTH_QQ_qq的配置的是因?yàn)檫@個(gè)地方源碼 social/utils.py的代碼來做到的。

所謂的正確姿勢

關(guān)鍵就是這些pipeline,這是所謂的正確姿勢。

SOCIAL_AUTH_PIPELINE = (
    "social.pipeline.social_auth.social_details",
    "social.pipeline.social_auth.social_uid",
    "social.pipeline.social_auth.auth_allowed",
    "social.pipeline.social_auth.social_user",
    "social.pipeline.user.get_username",
    "social.pipeline.user.create_user",
    "social.pipeline.social_auth.associate_user",
    "social.pipeline.social_auth.load_extra_data",
    "social.pipeline.user.user_details",
    "myauth.pipeline.user.save_profile",
)

源碼的action.py,通過do_complete方法我們可以看到,微信在做pipeline的時(shí)候是backend.continue_pipeline是一直根據(jù)配置的pipeline往下調(diào)用的,文檔講解的很清楚(比當(dāng)年好多了),pipeline會暫時(shí)中斷這次auth,做一些你想做的事情(用戶名轉(zhuǎn)化,根據(jù)微信的unioid關(guān)聯(lián)唯一用戶等等),然后回來繼續(xù),然而我當(dāng)年是從中間某個(gè)位置直接跳轉(zhuǎn)出去就不從這繼續(xù)了,好吧現(xiàn)在用了正確的姿勢,例如額外信息存儲myauth.pipeline.user.save_profile

所以我的這個(gè)項(xiàng)目其實(shí)是錯(cuò)誤的示范,star的同學(xué)們對不起了。

過完pipeline之后微信會根據(jù)你settings.py中的各種跳轉(zhuǎn)url根據(jù)不同的邏輯做跳轉(zhuǎn),你需要把其他的業(yè)務(wù)邏輯放在對應(yīng)的view里面即可。

然后你加個(gè)next參數(shù)做跳轉(zhuǎn)就可以實(shí)現(xiàn)微信app里面的登錄的功能了。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/45420.html

相關(guān)文章

  • 微信公眾開發(fā)小記——4.兩種邀請用戶的方式 掃碼&&鏈接

    摘要:借著這個(gè)需求體會了下微信開發(fā)的兩種不同類型非端口的兩種開發(fā),以及的一些正確姿勢。關(guān)于用戶微信登錄的事情我們通過已經(jīng)解決了參考我的上一篇博客微信公眾號開發(fā)小記接入三方登錄,所以可以直接用的裝飾器完成這種事情。 描述 假設(shè)的我們的服務(wù)號有這么一些功能,比如底部有按鈕,點(diǎn)擊會有一些復(fù)雜的功能,這時(shí)候可能就需要一個(gè)用戶系統(tǒng),有用戶系統(tǒng)就經(jīng)常想要做什么分享邀請新用戶之類的,這時(shí)候就又有幾種方式,...

    BDEEFE 評論0 收藏0
  • 微信公眾開發(fā)小記——1.接入微信服務(wù)器

    摘要:描述由于馬上要做一波公眾號開發(fā),今天先調(diào)研,把基本的服務(wù)器接起來。手腳架地址文檔微信公眾號公眾號開發(fā)首先你要有個(gè)公眾號,這里就不說了按照流程申請。腳手架的說明微信公眾號接入的時(shí)候要做很多事情,為了簡化開發(fā),提供一個(gè)版本的服務(wù)器。 描述 由于馬上要做一波公眾號開發(fā),今天先調(diào)研,把基本的服務(wù)器接起來。微信公眾號服務(wù)器在接入的時(shí)候要做一些煩躁的事情,改配置的時(shí)候要進(jìn)行握手,api調(diào)用要做一些...

    sshe 評論0 收藏0
  • 微信公眾開發(fā)小記——2.80端口上的服務(wù)

    摘要:微信在做一些操作是需要用到生成二維碼等而每天接口的調(diào)用上限為,需要自己做緩存文檔講了幾種方式,我覺得放在中拿比較妥當(dāng)。微信菜單會緩存分鐘,你可以取消關(guān)注,然后在關(guān)注查看菜單變化效果。 描述 微信公眾號開發(fā)基本分為2大種類型 1.用戶直接做了某些操作(回復(fù)信息、訂閱、掃碼、發(fā)語音、點(diǎn)按鈕等),此時(shí)這些信息微信會發(fā)送到微信服務(wù)器的80端口,這是一種開發(fā)類型;2.通過連接(按鈕、文章)引導(dǎo)用...

    frank_fun 評論0 收藏0
  • 微信三方登錄接口開發(fā)

    摘要:相關(guān)資料博客微信第三方登錄接口開發(fā)端微信掃碼登錄文檔移動(dòng)端網(wǎng)頁微信公眾平臺授權(quán)登錄微信開放平臺登錄與微信公眾平臺授權(quán)登錄區(qū)別在哪微信登錄接口幾個(gè)問題微信登錄的和區(qū)別百分號編碼在線轉(zhuǎn)換第三方登錄 微信登錄接口開發(fā)須知 APP登錄接口 PC網(wǎng)站登錄接口 微信移動(dòng)網(wǎng)頁登錄接口(又稱微信公眾號授權(quán)登錄) 移動(dòng)端非微信自帶瀏覽不支持微信登錄 微信移動(dòng)網(wǎng)頁登錄接口(又稱微信公眾號授權(quán)登錄) ...

    ziwenxie 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<