微信登录总结公众号登录小程序登录企业微信登录
微信公眾號/服務號登錄
微信內部網頁授權
第一步:請求CODE
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
第二步:通過code獲取access_token
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
第三步:通過access_token調用接口
微信小程序登錄
1調用 wx.login() 獲取 臨時登錄憑證code ,并回傳到開發者服務器。
2調用 auth.code2Session 接口,換取 用戶唯一標識 OpenID 和 會話密鑰 session_key。
移動應用微信登錄
移動應用微信登錄也是基于OAuth2.0協議標準構建的微信OAuth2.0授權登錄系統。
移動應用終端本地拉起微信應用
移動應用掃碼登錄
其中開發者移動應用終端在本地拉起微信應用的步驟如下
微信第三方平臺授權
步驟1:第三方平臺方獲取預授權碼(pre_auth_code)
預授權碼是第三方平臺方實現授權托管的必備信息,可以通過本文第3部分獲取。
步驟2:引入用戶進入授權頁
第三方平臺方可以在自己的網站中放置“微信公眾號授權”或者“小程序授權”的入口,或生成授權鏈接放置在移動網頁中,引導公眾號和小程序管理員進入授權頁。
方式一:授權注冊頁面掃碼授權
授權頁網址為:
https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx。
參數 是否必填 參數說明
component_appid 是 第三方平臺方appid
pre_auth_code 是 預授權碼
redirect_uri 是 回調URI
auth_type 否 要授權的帳號類型, 1則商戶掃碼后,手機端僅展示公眾號、2表示僅展示小程序,3表示公眾號和小程序都展示。如果為未制定,則默認小程序和公眾號都展示。第三方平臺開發者可以使用本字段來控制授權的帳號類型。
biz_appid 否 指定授權唯一的小程序或公眾號
方式二:點擊移動端鏈接快速授權
第三方平臺方可以生成授權鏈接,將鏈接通過移動端直接發給授權管理員,管理員確認后即授權成功。
授權鏈接為:
https://mp.weixin.qq.com/safe/bindcomponent?action=bindcomponent&auth_type=3&no_scan=1&component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx&biz_appid=xxxx#wechat_redirect
參數 是否必填 參數說明
component_appid 是 第三方平臺方appid
pre_auth_code 是 預授權碼
redirect_uri 是 回調URI
auth_type 是 要授權的帳號類型:1則商戶點擊鏈接后,手機端僅展示公眾號、2表示僅展示小程序,3表示公眾號和小程序都展示。如果為未指定,則默認小程序和公眾號都展示。第三方平臺開發者可以使用本字段來控制授權的帳號類型。
biz_appid 否 指定授權唯一的小程序或公眾號
注:auth_type、biz_appid兩個字段互斥。
步驟3:用戶確認并同意登錄授權給第三方平臺方
用戶進入第三方平臺授權頁后,需要確認并同意將自己的公眾號或小程序授權給第三方平臺方,完成授權流程。
步驟4:授權后回調URI,得到授權碼(authorization_code)和過期時間
授權流程完成后,授權頁會自動跳轉進入回調URI,并在URL參數中返回授權碼和過期時間(redirect_url?auth_code=xxx&expires_in=600)
步驟5:利用授權碼調用公眾號或小程序的相關API
企業微信登錄
獲取access_token是調用企業微信API接口的第一步,相當于創建了一個登錄憑證,其它的業務API接口,都需要依賴于access_token來鑒權調用者身份。
請求方式: GET(HTTPS)
請求地址: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
因此開發者,在使用業務接口前,要明確access_token的頒發來源,使用正確的access_token。
而如果企業需要在打開的網頁里面攜帶用戶的身份信息,需要構造如下的鏈接來獲取code參數
https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
然后再用下面該接口根據code獲取成員信息
https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
通過OAuth2.0驗證接口獲取成員身份會有一定的時間開銷。對于頻繁獲取成員身份的場景,建議采用如下方案:
1、企業應用中的URL鏈接直接填寫企業自己的頁面地址
2、成員操作跳轉到步驟1的企業頁面時,企業后臺校驗是否有標識成員身份的cookie(sessionID/token)信息,此cookie(sessionID/token)由企業生成
3、如果沒有匹配的cookie,則重定向到OAuth驗證鏈接,獲取成員的身份信息后,由企業后臺植入標識成員身份的cookie(sessionID/token)信息
4、根據cookie(sessionID/token)獲取成員身份后,再進入相應的頁面
UnionID 機制說明
如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程序),可通過 UnionID 來區分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網站應用和公眾帳號(包括小程序),用戶的 UnionID 是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應用,unionid是相同的。
總結
以上是生活随笔為你收集整理的微信登录总结公众号登录小程序登录企业微信登录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蠕虫病毒查杀
- 下一篇: 简单病毒分析及手工查杀