成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

aisuhua / 1631人閱讀

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

為什么要接入三方登錄

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

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

python-socail-auth

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

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

用戶信息

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

配置

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

注意配置中SOCIAL_AUTH_通用配置 | SOCIAL_AUTH_QQ_qq的配置的是因為這個地方源碼 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的時候是backend.continue_pipeline是一直根據(jù)配置的pipeline往下調(diào)用的,文檔講解的很清楚(比當年好多了),pipeline會暫時中斷這次auth,做一些你想做的事情(用戶名轉(zhuǎn)化,根據(jù)微信的unioid關(guān)聯(lián)唯一用戶等等),然后回來繼續(xù),然而我當年是從中間某個位置直接跳轉(zhuǎn)出去就不從這繼續(xù)了,好吧現(xiàn)在用了正確的姿勢,例如額外信息存儲myauth.pipeline.user.save_profile。

所以我的這個項目其實是錯誤的示范,star的同學們對不起了。

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

    ziwenxie 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<