微信登陸之手機版

移動應用微信登陸是基於OAuth2.0協議標準構建的微信OAuth2.0受權登陸系統。
在進行微信OAuth2.0受權登陸接入以前,在微信開放平臺註冊開發者賬號,並擁有一個已審覈經過的移動應用,並得到相應的AppID和AppSecret,申請微信登陸且經過審覈後,可開始接入流程。
目前移動應用上微信登陸只提供原生的登陸方式,須要用戶安裝微信客戶端才能配合使用。
微信登陸的流程講解以下。
開發者須要配合使用微信開放平臺提供的SDK進行受權登陸請求接入。正確接入SDK後並擁有相關受權域權限後,開發者移動應用會在終端本地拉起微信應用進行受權登陸,微信用戶確認後微信將拉起開發者移動應用,並帶上受權臨時票據(code)。
iOS平臺應用受權登陸接入代碼示例:api

-(void)sendAuthRequest
{ 
    //構造SendAuthReq結構體
    SendAuthReq* req =[[[SendAuthReq alloc ] init ] autorelease ];
    req.scope = @"snsapi_userinfo" ; req.state = @"123" ; //第三方向微信終端發送一個SendAuthReq消息結構 [WXApi sendReq:req]; } 

Android平臺應用受權登陸接入代碼示例:微信

{ 
    // send oauth request Final SendAuth.Req req = new SendAuth.Req(); req.scope = "snsapi_userinfo"; req.state = "wechat_sdk_demo_test"; api.sendReq(req); } 

上述數據的參數說明如表22-1所示。
app

表22-1移動應用微信登陸參數說明
微信客戶端會被拉起,跳轉至微信登陸受權界面,如圖22-2所示。
微信支付

圖22-2移動應用微信登陸
當用戶點擊確認登陸時,SDK經過SendAuth的Resp返回ErrCode和code等參數給調用方。相關參數的說明如表22-2所示。
url

表22-2微信支付登陸返回參數
獲取第一步的code後,請求接口獲取access_token,接口地址爲:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
上述數據的參數說明如表22-3所示。
spa

表22-3獲取access_token接口參數說明
正確建立時,返回的數據示例以下。code

{
    "access_token": "OezXcEiiBSKSxW0eoylIeOZ0dfxvb93UyrFdwznvwUv3JkVNVV1yFvQQa3IfuyMi4iZGDsAfe81sCaUXxyKrI-5XgCvhAS02eAC4MF2fJFl80Y9s-0h1EsuBmIVKgu0GnKhxCQ0M8G-gkQAJpzLzmQ", "expires_in": 7200, "refresh_token": "OezXcEiiBSKSxW0eoylIeOZ0dfxvb93UyrFdwznvwUv3JkVNVV1yFvQQa3IfuyMiH7dCabGFyMRtZHnHPHuEK78cf1eISYJ4y453T8pDa2tFAIJu8bFeLMBpeFSv9dgnGrK-ZfRxHzhq7IW4qevEMQ", "openid": "oH9d2v7NmDhsFzICG63UPSIOgUcY", "scope": "snsapi_userinfo", "unionid": "o4wcnwx0BVC4F_hSl5qCd5rC4Jps" } 

上述數據的參數說明如表22-4所示。
regexp

表22-4獲取access_token接口返回參數說明
最後,能夠經過access token和OpenID獲取用戶的基本信息。接口地址以下:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
上述數據的參數說明如表22-5所示。
blog

表22-5獲取用戶基本信息接口參數說明
正確建立時,返回的數據示例以下。token

{
    "openid":"oH9d2v7NmDhsFzICG63UPSIOgUcY", "nickname":"方倍", "sex":0, "language":"zh_CN", "city":"", "province":"", "country":"CN", "headimgurl":"http://wx.qlogo.cn/mmopen/pburdzLK7PUTcFw3ozK52Gravkznno51DSjnqnzsG6WzJLUOtadGBYYSVqh5YDicdawxrD6hHoR96OcyyDWAEgA/0", "privilege":[ ], "unionid":"o4wcnwx0BVC4F_hSl5qCd5rC4Jps" } 

上述數據的參數說明如表22-6所示。

表22-6獲取用戶基本信息接口返回參數說明至此,移動應用就完成了微信用戶的登陸過程,並得到了用戶的我的基本信息。

相關文章
相關標籤/搜索