使用第三方微信登入
這兩天瞭解了下使用微信第三方登入相關問題,這樣方便使用者登入,不用擔心密碼遺忘的問題,所以記錄下微信登入的簡單流程
首先在在微信開放平臺註冊,記住要選擇開發者,每個微信都可以成為開發者,點選開啟微信開放平臺連結
或者在微信公眾平臺申請一個服務的公眾號
兩者的區別可以自行百度
第三方微信介面登入流程圖:
使用者首先請求登入第三方應用(app.web等),一般現在使用者登入會有很多登入方式,郵箱/手機號/使用者名稱密碼/第三方等,這裡可以判斷使用者的登入方式,如果是微信登入就是接下來的流程:
1.請求第三方應用登入
2.第三方應用請求微信授權登入,是遵循OAuth2.0的協議授權碼模式
3.微信開放平臺會請求使用者是否授權登入
4.使用者確認授權登入(是或者否)
5.微信會返回給第三方應用一個code(授權臨時票據,需要使用code去微信申請token令牌)
6.根據返回的code+appId+appsecret去獲取access_token,其中 appId是伺服器在微信平臺認證後會自動生成,代表這這個第三方應用的唯一標識, appsecret是密匙,加密解密使用,也是在伺服器在微信平臺認證後生成的 access_token 就是令牌,可以去獲取使用者微信的基本資訊(頭像,暱稱,性別,地址)有效期是2個小時
好了 流程嘚吧完了,接下來上程式碼
1.使用者掃描二維碼
https://open.weixin.qq.com/connect/qrconnect?appid=xxxxxxxxf&redirect_uri=xxxxxxxxxxxx&response_type=code&scope=snsapi_login&state=#wechat_redirect
2.redirect_uri是掃描成功後需要跳轉的頁面(跳轉會帶有引數code和state/如果使用者沒有授權則不會返回code,但是會返回state)
/**
* 微信引導頁進入的方法
* @return
*/
@RequestMapping("/loginByWeiXin")
public String loginByWeiXin(HttpServletRequest request, Map<String, Object> map) {
// 獲取code和state 2 個引數
String code = request.getParameter("code");
String state = request.getParameter("state");
System.out.println("code -------" + code + ", state ------- " + state);
if(code != null && !"".equals(code)) {
// 授權成功, 獲取使用者token和openID
OAuthInfo authInfo = WeiXinUtil.getAccess_token(code);
String openid = authInfo.getOpenid();
String access_token = authInfo.getAccess_token();
if(access_token == null) {
// Code 使用過 異常
System.out.println("Code 使用過 異常.....");
return "redirect:" + 跳轉的路徑;
}
// 查詢微訊號是否繫結第三方平臺
SysUser sysUser = weiXinService.getUserByWeiXinID(openid);
if(sysUser == null) {
//獲取隨機字串長度是57的
String randomStr = StringUtil.getRandomString(57);
request.getSession().setAttribute(openid, randomStr);
// 尚未繫結賬號
System.out.println("尚未繫結賬號.....");
return "redirect:/index.jsp?openid=" + openid + "&state=" + randomStr;
}
userController.doSomeLoginWorkToHomePage(sysUser.getMcid(), map);
// 登入成功
return "homePage";
}
// 未授權
return "redirect:" + 路徑;
}
3.根據code獲取token(實體類OAuthInfo封裝微信返回來的使用者資訊)
public static OAuthInfo getAccess_token(String code){
String authUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code ";
authUrl= authUrl.replace("APPID", Param.APPID);
authUrl = authUrl.replace("SECRET", Param.SECRET);
authUrl = authUrl.replace("CODE", code);
String jsonString = HTTPRequestUtil.sendPost(authUrl,"");
System.out.println("jsonString: " + jsonString);
OAuthInfo auth = null;
try {
auth = (OAuthInfo) JacksonUtil.parseJSONToObject(OAuthInfo.class, jsonString);
} catch (Exception e) {
e.printStackTrace();
}
return auth;
}
返回的使用者資訊格式:
{ "access_token":"ACCESS_TOKEN", "expires_in":7200, "refresh_token":"REFRESH_TOKEN","openid":"OPENID", "scope":"SCOPE","unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" //客戶授權後才會有這個欄位}
好了 只是為了記錄下 微信登入流程 如果有錯誤歡迎指出 共同進步相關推薦
使用第三方微信登入
這兩天瞭解了下使用微信第三方登入相關問題,這樣方便使用者登入,不用擔心密碼遺忘的問題,所以記錄下微信登入的簡單流程 首先在在微信開放平臺註冊,記住要選擇開發者,每個微信都可以成為開發者,點選開啟微信開放平臺連結 或者在微信公眾平臺申
網站登入之第三方微信登入
一、 網站應用微信登入是基於OAuth2.0協議標準構建的微信OAuth2.0授權登入系統。 在進行微信OAuth2.在進行微信OAuth2.0授權登入接入之前,在微信開放平臺註冊開發者帳號,並擁有一
iOS第三方微信登入時不走回調方法
ios 開發中第三方微信登入時,使用真機測試,授權登入按鈕點選後不走微信demo的 -(void)onResp:(BaseResp*)resp 回撥方法不走,無法判斷是否成功 檢視網上一些解決方法,自己嘗試了一下可行。 就是在APPDelegate中,把之前根據d
iOS 第三方微信登入整合-錯誤-40029
錯誤紀錄: #pragma mark - WXApiDelegate - (void)onResp:(BaseResp *)resp{ if ([resp isKindOfClass:[S
第三方微信登入 | 靜默授權與網頁授權的實現
一:介紹 第三方登入有QQ、微信、微博、支付寶等等,如果現在自己的專案中實現這些登入,即可以使用友盟的sdk,也可以一個一個接入,各有各的有點,這裡不做贅述。 今天和大家分享的是,在專案中實現微信登入,雖然微信官網給出了接入文件,但是我在接入的過程中,遇到一
關於使用微信登入第三方APP的實現(Android版)
轉自:http://my.oschina.net/crazymus/blog/521164 使用微信登入APP,免去註冊過程,現在已經有很多的類似應用了。整合該功能過程不復雜,但還是有一些地方需要注意的。 開始之前,需要做下面的準備工作。 1、到微信開放平臺註冊你的APP,並申請開通
Android開發第三方登入--微信登入
QQ登入、微信登入,新浪微博登入資料獲取demo下載 http://download.csdn.net/detail/pkandroid/9903796 github地址 進入 https://github.com/HYVincent/Login 專案
ecshop第三方登陸之微信登入
$appid = 'XXXXX'; $appsecret = 'XXXXXXX'; if (empty($code)) show_message('授權失敗', '返回首頁', '', 'wrong'); $token_url = 'https://api
Android第三方繫結微信登入詳解
微信登入官方文件地址:點選進入 一、準備工作 在進行微信登入之前,首先要在微信開放平臺註冊開發者賬號,並擁有一個已稽核通過的移動應用,並獲得相應的AppID和AppSecret,申請微信登入且通過稽核後,可開始接入流程。 微信開放平臺接入地址:點選進入 建立移動應用後獲得
第三方微信接入登入流程整理
準備工作 2.在“管理中心”中建立一個移動應用,需“應用名稱、簡介、及28*28和108*108的PNG圖片各一張,且大小不超過300k”,點選下一步,需“應用官網地址,應用簽名及包名”等資訊,然後即可提交稽核。 說明: 應用簽名:可在微信開發平臺的資源中心》》資
微信登入第三方平臺
1.前臺請求後臺獲得相應的引數及回撥地址,使用者掃面後登入到回撥的地址中,回撥的地址中獲得使用者資訊及返回資訊,前臺監控返回資訊做相應的處理及登入註冊 public class WeChatLoginAction extends AbstractRestBaseAct
iOS第三方登入 微信登入 第三方登入微信詳解AF3.0
專案地址 : https://github.com/zhonggaorong/weixinLoginDemo 最新版本的微信登入實現步驟實現: 1.在進行微信OAuth2.0授權登入接入之前,在微信開放平臺註冊開發者帳號,並擁有一個已稽核通過的移動應用,並獲得相應的AppID和AppSecret
第三方網站微信登入java程式碼實現
一、開發前知識 1、微信開放平臺與微信公眾平臺的區別 1.1 微信公眾平臺: ② 微信公眾平臺面向的是普通的使用者,比如自媒體和媒體,企業官方微信公眾賬號運營人員使用,當然你所在的團隊或者公司有實力去開發一些內容,也可以呼叫公眾平臺裡面的
常用微信整合(第三方sdk整合套路)-- 微信登入
序言 程式開發過程中,總歸是會用到第三方sdk的,這裡就常用的登入、分享、支付做一個整合方法上的綜述,以備引申至通用的sdk使用方法。 一般的,sdk在登入、分享、支付上,都會按照如下的流程進行: 包裝請求(req)--> 傳送請求 -->
基於第三方微信授權登入的iOS程式碼分析
基於第三方的微信授權登入是之前筆者博文《QQ和新浪微博授權登入》的姊妹篇,微信已經深入到每一個APP的縫隙,最常用的莫過分享和登入了,接下來就以程式碼的形式來展開微信登入的相關說明,至於原理級別的oauth2.0認證體系請參考微信開放平臺的相關說明和圖示 https://o
第三方應用微信登入介面
重點內容 微信登入接入 微信登入遵循協議Aouth2.0中的授權碼模式 Aouth2.0授權碼模式的認證流程: (A)使用者訪問客戶端,後者將前者導向認證伺服器。 (B)使用者選擇是否給予客戶端授權。 (C)假設使用者給予授權,認證伺服器首先生成
Android集成第三方微信登錄
handler pid 微信 send stack lencod str ont pps 第一步: 在微信開放平臺創建安卓應用,需要輸入的包名和簽名就不用再提吧,不知道的自行百度。 應用創建完畢後會得到兩個值:AppID、AppSecret,用這兩個值來請求微信。 然後去
GitHub開源:升訊威微信營銷系統(第三方微信平臺)完整源代碼
粉絲 做事 truct 全部 在家 是我 容易 情況 使用場景 GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction升訊威微信營銷系統開發實踐系列升訊威微信營銷系統開發實踐:(1)功能設計與架構設計升訊威微信
捋一捋PHP第三方微信登錄
微信登錄 wechat login PC端掃二維碼登錄先說步驟吧: 微信網站登錄的文檔在https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&a
微信營銷系統(第三方微信平臺)github 開源
進行 收集 可用 會員卡 數據 例如 關註 body 技術分享 升訊威微信營銷系統(微信第三方平臺) 在線體驗:http://wxcm.eeipo.cn/開源地址:https://github.com/iccb1013/Sheng.WeixinConstruction說明